- 最后登录
- 2023-8-16
- 在线时间
- 1686 小时
- 威望
- 2135
- 金钱
- 50532
- 注册时间
- 2011-10-12
- 阅读权限
- 200
- 帖子
- 5207
- 精华
- 39
- 积分
- 2135
- UID
- 2
|
2#
发表于 2012-5-14 14:56:30
BBED> map /v
File: lost1.dbf (0)
Block: 20 Dba:0x00000000
------------------------------------------------------------
KTB Data Block (Table/Cluster)
struct kcbh, 20 bytes @0
ub1 type_kcbh @0
ub1 frmt_kcbh @1
ub1 spare1_kcbh @2
ub1 spare2_kcbh @3
ub4 rdba_kcbh @4
ub4 bas_kcbh @8
ub2 wrp_kcbh @12
ub1 seq_kcbh @14
ub1 flg_kcbh @15
ub2 chkval_kcbh @16
ub2 spare3_kcbh @18
struct ktbbh, 96 bytes @20
ub1 ktbbhtyp @20
union ktbbhsid, 4 bytes @24
struct ktbbhcsc, 8 bytes @28
b2 ktbbhict @36
ub1 ktbbhflg @38
ub1 ktbbhfsl @39
ub4 ktbbhfnx @40
struct ktbbhitl[3], 72 bytes @44
struct kdbh, 14 bytes @124
ub1 kdbhflag @124
b1 kdbhntab @125
b2 kdbhnrow @126
sb2 kdbhfrre @128
sb2 kdbhfsbo @130
sb2 kdbhfseo @132
b2 kdbhavsp @134
b2 kdbhtosp @136
struct kdbt[1], 4 bytes @138
b2 kdbtoffs @138
b2 kdbtnrow @140
sb2 kdbr[77] @142
ub1 freespace[813] @296
ub1 rowdata[7079] @1109
ub4 tailchk @8188
BBED> p kdbr[0]
sb2 kdbr[0] @142 7970
BBED> p *kdbr[0]
rowdata[6985]
-------------
ub1 rowdata[6985] @8094 0x2c
kdbr 实际记录的是相对offset
FOR ASSM
real offset = kdbr[n] + 76 + (itls-1) *24
FOR Example
struct ktbbhitl[3], 72 bytes @44 ==> indicate there is 3 ITLS
*kdbr[0]= kdbr[0] + 76 + (3-1 ) *24 = 7970 + 76+ 48= 8094
BBED> p kdbr[1]
sb2 kdbr[1] @144 7876
BBED> p *kdbr[1]
rowdata[6891]
-------------
ub1 rowdata[6891] @8000 0x2c
*kdbr[1]= kdbr[1] + 76 + (3-1 ) *24 = 7876 + 76+ 48= 8000
FOR MSSM
real offset= kdbr[n] + 68 + (itls-1) *24 |
|