Winhex 数据恢复 之 根目录下的位置计算

根目录下的位置计算

大多数情况下根目录都是2号簇

根目录的位置计算公式:FAT的起始扇区号+FAT表的大小 * 2

起始扇区号的值为8,236,FAT表的大小为16,362,根据公式计算 8236+16362*2根据先乘除后加减运算法则  16362*2=32,724  32,724+8236=40960这样我们就计算出了根目录的位置

根目录介绍

目录项分为短文件名目录项长文件名目录项

“ . ”目录项表示这个目录本身

“ . ”目录项表示这个目录的父级目录

如果文件名不到8个字符,用0x20填充

如果文件名超过8个字符时则会被截断,提取前6个字符再加“~1”(如果有同名目录项,这个数值会加1),然后加上扩展名

短文件名目录项数据结构

偏移地址(16进制)

描述

00-0A

文件名的ASCII码

0B-0B

文件属性0x01只读;0x00读、写;0x02隐藏;0x04系统;0x08卷标;0x10目录;0x20存档;0x0F长文件名

0C-0C

保留

0D-11

创建时间

12-13

最后访问时间

14-15

起始簇的高16位

16-19

最后修改时间

1A-1B

起始簇的低16位

1C-1F

文件的大小字节数

文件名的ASCII码 图中红框内的[E5 A7 CF B0 20 20 20 20]

这是一个文件名,通过这个文件名我们就可以判断,该文件名是一个短文件名,为什么呢?

前面我们讲到过,文件名会占用8位,如果不超过8个字符,那么多余的位(bit)将会使用 20 代替,可以看到8个位当中,有4个位是20所以判断该文件名只占用4位

这里还要注意一个点,一个长的文件,他如果有一个长文件名,那么同时也会有一个短文件名,一般情况下我们只需要看它的短文件名就可以获得我们想要的信息

文件属性-存档

红色方框内是他的文件名可以发现这是一个长文件名,再看绿色方框内这是文件的后缀名,再看蓝色的方框内这里面的值就是他的文件属性,它的值为20,那么就代表这是一个存档

文件属性-目录

可以看到这是一个短文件名因为它文件名所占用的8个位中有4个为20,所以它只占用了4个位,绿色方框内全为20所以它并没有后缀名,蓝色方框内的值为10,说明他的文件属性是目录

如果要查看创建时间的话,需要在选项-数据解释器勾选DOS-DATA选项

创建时间

绿色方框内就是文件的创建时间了,右边是文件夹属性,显示的创建时间与文件系统内是完全相同的

最后访问时间

橙色方框内就是最后访问时间的值,由于数据解释器的DOS是32bit的原因需要选择4位值才能正确读数,但是记录时间的值只有两位,所以我们选择红色框内的两位值,红色框与橙色框内的值是完全相同的,我们选中红色框内的值的时候,数据解释器就能正确读取最后访问时间的值了

红色为起始簇的高16位(14-15)绿色为最后修改时间(16-17)蓝色为起始簇的低16位(1A-1B)当一个文件被删除之后高16位可能被删除,所以常规使用的恢复方法无法恢复出来

当高16位被清空时(1A-1B)起始簇的低16位,存储着文件的真实簇号,如果高16位还未清空就需要加上高16位的值才是真实的簇号

可以看到这个文件夹的真实簇号在 722号簇

文件在被删除之后,文件名的开头第一个位会变成E5

  • 26
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值