tclrz100e 发表于 2009-1-22 16:50:27

查看NTFS文件记录中的Data Runs的方法

查看NTFS文件记录中的Data Runs的方法
说明:本帖只介绍如何查看NTFS文件记录中的Data Runs,所以有关基础知识,大家自己查阅相关资料!!

   一个月前,一网友在他的QQ空间(http://user.qzone.qq.com/63678313/blog/1229266286)谈及一个关于有负数的多Data Runs的手工提取算法时,我曾简单的归纳了计算数据运行的三种方法:
   由于当时没有详细的讲解,后来常有网友来问及此事,时间关系,没有一一解答,现将三种方法作进一步解释:

方法一:手工计算
   说明:方法略。有兴趣的朋友可以在网上找找(网上有),现在没有时间细讲,如果有必要,年后再补上。

方法二:用WINHEX中的数据解释器直接看
   把光标定位到某一Data Runs开始簇号的第一个字节位置,这个Data Runs的开始簇号就出来了,其它的以此类推!!

   Data Runs开始的簇号一般有4种可能:一个字节(8位)、2个字节(16位)、3个字节(24字节)、4个字节(32位),而WINHEX中的数据解释器默认的只能看到8位、16位、32位,看不到24位的,所以如果开始的簇号是3个字节的,直接看不出来,这时只要在数据解释器中把这项选中就行了(只设置一次,以后就不用再设置了!!)。



方法三:用WINHEX的模版看:
   说明:WINHEX默认的模版中没有Data Runs的模版,附件中提供一个模版大家使用(我只提供原版下载,我的汉化版和汉化改进版不提供下载,大家有兴趣自己汉化或者改进)
   使用方法:将光标定位到Data Runs开始的位置(注:不是Data Runs开始簇号开始的位置!!)
   然后点“查看”-“模版管理器”,选中“NTFS Data Runs”这个模版,然后点“应用”。


  这个文件的数据运行全部都出来了,剩下的就不需要我细说了。
以下是我做的汉化版和汉化改进版的效果图(其实用原版的就可以了)

附:NTFS Data Runs模版(我是免费放出的,我不希望下载的朋友拿到其它论坛上去赚币,呵呵!!)

[ 本帖最后由 tclrz100e 于 2009-1-22 20:49 编辑 ]

lughon 发表于 2009-1-22 17:17:01

做个沙发,好方法强列支持

火爆狙击 发表于 2009-1-22 17:18:36

谢谢楼主了,沙发了。。。。哈哈

火爆狙击 发表于 2009-1-22 17:19:11

有人比我快乐

haobinnan 发表于 2009-1-22 19:28:23

有了这个模板在配合我的 http://bbs.intohard.com/thread-56016-1-1.html

nhqwsj 发表于 2009-1-22 20:53:51

好东西啊,希望华山剑客继续发这样的好东西

reeker 发表于 2009-1-22 21:00:07

'好工具!顶一下!!!!!!!!

dnfreeuser 发表于 2009-1-23 10:34:33

我来说下手工计算

比如图上的22 00 19 48 02 32 00 1c 46 5d 0b 32 00 01 03 07 f4
22--2 和2
第一个lcn 0248
第一个size 1900

第二个32分为2和3
lcn=0248+0b5d46
size 1c00
第三个322\3
lcn=0248+0b5d46+1000000-f40703
size=1000
要注意的就是>0x80、0x8000、0x800000的是分别先加上0x100、0x10000、0x1000000后再减去相应的值就可以了
那么怎么知道是0x8000,还是0x800000呢?容易,看最前面的32,第一个是3,那么就是0x800000

ijcl 发表于 2009-1-23 12:08:30

我用vb写了一个工具,你把整个dataruns输入进去,他把所有的起始扇区和结束扇区一次性输出来。大家可以参考一下,解决了8位,16位,24位,32位,48位,64位的datarun为负的问题.
http://bbs.intohard.com/thread-56042-1-1.html

[ 本帖最后由 ijcl 于 2009-1-23 13:26 编辑 ]

dfgd 发表于 2009-1-23 16:46:10

全部都是大侠大大
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 查看NTFS文件记录中的Data Runs的方法