简介:利用winhex手工恢复
一、winhex简介
winhex 是一个以16 进制编辑器为核心,检查和修复各种文件、恢复删除文件、硬盘损坏造成的数据丢失等的软件(挺牛逼)
二、NTFS
是windows使用的文件系统
1.特点
(1) 安全性较高 ,NTFS文件系统有日志容错功能,所以安全性比FAT文件系统高。
(2)NTFS文件系统可以给文件设置访问权限
(3) 支持文件压缩和文件加密
(4)可以磁盘配额
(5) NTFS文件系统支持大分区(在MBR磁盘最大支持2T,在GPT磁盘支持的分区更大)
(6)NTFS文件系统支持大文件(大于4G)
2.说明
关于NTFS文件系统的结构等其他知识详见
三、准备工作
在进行恢复之前咱们创建一个虚拟磁盘VHD在,在里面进行恢复,其好处是不会对系统造成损害,且在$MFT中文件记录少,方便查找
1.创建vhd
(1)右击“此电脑”点击管理
(2)点击磁盘管理
(3)右击“磁盘管理”,点击创建VHD
(4)选择路径和大小(按自身决定)
这底部会有进度提醒
(5)初始化磁盘
(6)分配磁盘,这里总共就2G全部分配
新建卷
(7)分配完成
四、手工恢复
这里展示两种常驻属性和非常驻属性恢复。
(1) 常驻属性:直接在MFT项中记录属性体
优点:访问速度快
缺点:只能记录少量的数据
(2)非常驻属性:在MFT之外的区域记录属性体
优点:用簇流记录文件存储的数据区域,可以记录很大的数据
缺点:访问速度较慢
1.常驻属性恢复
(1)在新建的vhd中创建一个文件,并写入较少内容
(2)打开winhex,加入磁盘
可以看到刚刚创建的文件
(3)删除
(4)重新载入磁盘
(5)因为winhex以16进制为核心,咱们先把文件名字转为16进制,在网页上搜索字符转16进制的在线工具即可,我给出一个网址
https://www.convertstring.com/zh_CN/EncodeDecode/HexEncode
(6)输入文件名以及定界符,得到结果
(7)回到winhex中,搜索16进制数据,注意这里要从$MFT开始搜索,MFT主文件表,每个文件的信息都在这个MFT中有记录
(8)可得到文件在MFT中的索引名
(9)复制这16进制值,并搜索
得到123.txt的MFT表,
·其中80属性里保存了文件的内容
·00代表的常驻属性
·相对于80属性偏移10-13的地方,即蓝色框的地方是文件的大小 17H
·相对于80属性14-15的地方,即黄色框的地方是文件的起始偏移量18H
这块的偏移量位置可以用工具确定,按住alt+g,选择80位置从当前位置偏移10即可找到文件大小的位置。
(10)恢复文件
得到文件的大小和起始簇的偏移量,直接跳转到起始位置
相对于80偏移的18的地方是6A
右击6A,点击选择起始位置
在以64位起始位置偏移17
得到00位,并选择尾部
右击编辑——复制选块——致新文件
至此恢复成功
2.非常驻属性恢复
这里就省略一些不必要的步骤
(1)创建一个文件,并删除
(2)重新载入winhex
(3)字符转为16进制
(4)搜索MFT表
(5)复制16进制值
(6)搜索存储此文件的MFT表
(7)查看信息
·其中80属性里保存了文件的内容
·01代表的非常驻属性
·这里的黄框是簇流信息,表示着文件的内容存在的位置
21 10 46 08
(8)恢复
这里要倒着看起始簇,为0846h,转换为10进制为
或者直接用winhex自带的数据解释器
ctrl+g调转簇区
选择起始位置
尾部位置=起始簇+簇流大小=2118+16(16进制的10转为10进制为16)=2134
右击编辑——复制选块——致新文件
恢复成功
如有错误的地方还请各位多多指教,谢谢