|
2#
楼主 |
发表于 2005-9-28 21:28:00
|
只看该作者
四、文件位置信息段
开始的一个long integer表示此段的总长度,当文件头中○1的第1位没有置位时表示既不是文件也不是文件夹,所以这个信息没有意义,所以总长度为0。先让我们看一下这个段的头:
Offset
Size/Type
Description
0h
1 dword
此段的总长度
4h
1 dword
头结构长度,固定为1ch
8h
1 dword
Flags指示文件在哪些卷有效,这里只用到低两位,第一位置位表示本地卷有效,反之无效。第二位置位表示网络卷有效,反之无效。
ch
1 dword
本地卷信息表的偏移(固定1ch)
10h
1 dword
本地路径信息的偏移
14h
1 dword
网络卷信息表的偏移
18h
1 dword
附加信息的偏移
如果文件在本地卷,那么文件名为:本地路径信息+附加信息
如果文件在网络卷,那么文件名为:网络卷信息中的共享名+附加信息
紧跟在段头后面的是本地卷信息表(段内偏移为1ch),结构如下:
Offset
Size/Type
Description
0h
1 dword
本地卷信息表的长度
4h
1 dword
卷类型:
0 Unknown
1 No root directory
2 Removable (Floppy, Zip, etc..)
3 Fixed (Hard disk)
4 Remote (Network drive)
5 CD-ROM
6 Ram drive (Shortcuts to stuff on a ram drive, now that''s smart...)
8h
1 dword
卷序列号
ch
1 dword
固定长度部分的大小,固定为10h
10h
可变长度
卷标签
然后是本地路径信息串段内偏移决定于10h的值。
再往后就是网络卷信息表段内偏移决定于14h的值。结构如下:
Offset
Size/Type
Description
0h
1 dword
网络卷信息表的长度
4h
1 dword
固定为2h
8h
1 dword
固定长度部分的大小,固定为14h
ch
1 dword
固定为0h
10h </F |
|