EasyRecovery 中java文件的签名

周末不小心把硬盘分区表搞坏了,原来保存文件的分区已经面目全非,用尽各种分区表修复软件也无济于事。前面两个星期的开发成果全部在里面呢(为了不影响同事正常编译运行,一直没有上传到版本服务器)。没法子了,只好请出EasyRecovery来救命。

选择了被破坏的分区进行了RAW RECOVERY,开始漫长的等待,看着各种文件一个个的跳出来,等了很久也没有一个java文件。中断扫描检查一下文件类型,原来EasyRecovery不识别java文件,白扫了半天。试试添加一个java类型进去,却发现EasyRecovery只能接受不超过三个字母的后缀,而且EasyRecovery不是通过文件后缀来识别文件的,而是要识别文件中指定位置开始的一串特殊数据来识别。那就好办了。


用ULTRA EDIT打开一个java文件观察一下,果然发现一个明显的特征:几乎全部文件都是以“package ”开始的。于是添加一个文件类型jav,signature为70 61 63 6B 61 67 65 20 ,offset为0。filetype中的其他文件类型全部不选,单选一个jav,扫起来速度就快多了。但是很快发现一个新的问题:恢复的文件太多,大多数不是我想找的那写最新的代码。我最新的代码都是属于一个  ...form.templet包下面的,于是重新定义一个新的文件签名emu,signature为66 6F 72 6D 2E 74 65 6D,offset为37,重搜了一遍,这下把我前几天写的代码全部搜出来垃!
原文地址:https://www.cnblogs.com/stonehuang/p/6603226.html