t8x8l8 发表于 2009-2-11 01:04:07

高手进,关于数据恢复技术(第二版)中FAT16的FDT表项分析的问题

数据恢复技术(第二版)中FAT16的FDT表项分析的问题 图中表示创建时间的51BA怎么转换为现在的时间呀?

[ 本帖最后由 t8x8l8 于 2009-2-11 01:08 编辑 ]

t8x8l8 发表于 2009-2-11 01:12:34

原来是16进制的,要怎么转换一下变成现在的时间?是不是变成2进制呀?

ttnml 发表于 2009-2-11 08:42:01

6)        0x0E~0x0F:2个字节,文件创建时间的时、分、秒。2个字节的16-bit被划分为三部分:
        0~4-bit为秒,以2秒为单位,有效值为0~29,可以表示的秒时刻为0~58;
        5~10-bit为分,有效值为0~59;
        11~15-bit为时,有效值为0~23;
例如,某个目录项的偏移0x0E~0x0F字节处的内容为“6CB2”,我们来看一下它表示的时、分、秒时刻。由于FAT文件系统使用Little-endian格式存储多字节数字,因此“6CB2”表示成十六进制数为0xB26C,将其换算成二进制为1011001001101100,我们将其分成三部分并计算它的值,如图3.18所示。

7)        0x10~0x11:2个字节,文件创建时的日期,16-bit也划分为三个部分:
        0~4-bit为日,有效值为1~31;
        5~8-bit为月,有效值为1~12;
        9~15-bit为年,有效值为0~127,是一个相对于1980年的年数值,也就是说该值加上1980即为文件创建时刻的日期值。也就是可以表示1980~2107年间的任何一个年份。
例如,前面分析时间值的目录项,其0x10~0x11字节处的值为“8639”,我们来看一下它表示的日期。同样,“8639”表示的十六进制值为0x3986,换算成二进制为11100110000110,按规则划分成三部分并计算它表示的日期,如图3.19所示。

(本内容摘自即将出版的《数据重现-文件系统原理精解与数据恢复最佳实践》

ttnml 发表于 2009-2-11 08:54:04

我发的是FAT32目录项,通过这个了解一下吧。老版本的没有必要投入太多精力研究

烟台硬盘数据 发表于 2009-2-11 10:28:19

其实知道一些字节含义就可以了,严格讲实际操作恢复应用当中这些并不是关键所在。

ttnml 发表于 2009-2-11 12:23:50

5楼讲得不错,对于数据恢复而言,重要的是数据内容正确,客户一般不会在意时间值,所以只了解就可以。时间值的重要性主要在于电子取证方面,同时,在研究FAT32下文件删除时簇号高位被清零的恢复有些用处。

xulemeng 发表于 2009-4-24 14:52:37

不错,学习了。顶一下!!!!!!!!!!!

zhlaoshu 发表于 2009-7-30 11:40:56

重要的是数据内容正确

长枪短炮 发表于 2009-8-3 14:17:50

好东东谢谢楼主了
页: [1]
查看完整版本: 高手进,关于数据恢复技术(第二版)中FAT16的FDT表项分析的问题