自己研究的ntfs文件定位

自己研究的ntfs文件定位

ID:16442956

大小:495.00 KB

页数:9页

时间:2018-08-09

自己研究的ntfs文件定位_第1页
自己研究的ntfs文件定位_第2页
自己研究的ntfs文件定位_第3页
自己研究的ntfs文件定位_第4页
自己研究的ntfs文件定位_第5页
资源描述:

《自己研究的ntfs文件定位》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、有很多刚刚学习NTFS文件系统,可能都会有这个困扰,了解了DBRMFT103080属性datarun后,还是不会怎么去定位目录或者或者子目录MFT。因为我看了很多书上面都没有讲解怎么去定位!网上资料也很抽象,很难理解,所以我在这里把我自己学习过程中的一点认识写上来,希望能够帮助大家。DBRMFT我就不讲了。直接从定位开始,NFTS文件存储结构图DBR数据$MFT数据MFTmirr数据备份DBR在这里我要记住第5号元文件记录为根目录记录MFT也就是好,现在进入正题,因为每个目录(文件)都有一个MFT,而子目录的MFT的首地址正是根据他的父目录的MFT来定位的,所以NTFS的文

2、件系统中MFT正好形成了一棵树(是不是和FDT差不多,但是复杂多了),所以大家可以想到,要定位树上叶子的位置,你必须知道ROOT(根)的位置吧,自然而然,我们就必须得到根目录的MFT的首扇子区号。大家看到这里,想必都MFT有个大概的了解了吧,通过查阅MFT的相关资料,我们可以得知:5号MFT,遍是根目录的MFT区!!那么如何得到5号MFT的首扇区号呢.?我们可以通过DBR,通过DBR的参数(具体请自己查阅)我们可以获得0号MFT的首簇号,因为一个MFT占用2个扇区,我们可以轻松得知5号MFT的首扇区号(这个都不会算的话,那我也没办法了…),好现在知道了根目录的MFT…那我们

3、就可以通过这个MFT寻找他所有直接子结点的MFT,好,现在基本方法大家都知道了吧,比如我们要定位D:\a\b\c.txt这个c.txt文件,那么通过根目录的MFT我们可以定位到a的MFT,再由a的MFT获取b的MFT,由b的MFT获取c.txt的MFT,最后由c.txt的MFT分析可得这个TXT文件的DATA扇区号。这样大家的思路是不是清楚了。这里我以实例来说明如何定位,H盘有个文件路径是H:111222ihao.txt首先要找到我们111目录的MFT表。从第5号元文件,也就是索引根目录也就是ROOTDIRECTORY,3083336扇区,我们可以从第5号MF

4、T算出它的位置我们打开第5号MFT80属性的运行就是我们需要找的位置,3101FEFF03开始簇号为262142大小为1簇,转换为扇区也就是簇乘以8等于3083336,当然如果打开的是物理盘有MBR或者EBR要加上MBR扇区,我这里打开的是逻辑盘,所以不用加,我们跳转到3083336扇区,看看是不是根目录。494E4458这个就是跟目录索引,在这个里面存放所有根目录下面的所有文件或者目录的以unicode编码的文件名,我们可以用winhex搜索!首先我们要知道文件名的UNICODE编码是什么,这里我们用文本输入文件名,然后保存UNICODE编码,用winhex打开,去掉见面

5、的FFFE后面就是该文件或目录UNICODE编码,这里我们为111的目录为例!这里我们111的目录UNICODE编码是310031003100我们在根目录里面搜索310031003100很快我就找到匹配项目然后我们向上数5行,我是这样数的,呵呵,因为我不了解这里的结构,但是我实验过多次就是这个地方。就是这个目录的。。这里是1D000000MFT记录编号!(不明白记录编号的可以查下MFT文件记录)转换10进制为29,所以它的位置是29*2+$MFT扇区号(2097152)=2097210我们在跳转到2097210,看看是不是111目录的记录文件从30属性里面可以看出这个就是1

6、11目录的记录项。这里我们已经完成的对根目录文件和目录定位。接下来才是重要的,对子目录和文件的定位,也是我看了很多书上面讲解的不详细的地方。现在我们已经定位了H盘下面的111目录,现在我们在来定位111目录下面的222目录,而111也有一个索引根,我是这样理解的,可能跟书上不一样,每个文件夹都有自己的索引根(里面文件的90记录超过2个扇区,没有超过其实是直接放在90属性里面的)从上面这副图我们看到A0属性的运行时310187E105!A0属性其实就是存放在簇外面的根索引位置记录。87E105的簇号是385415转换为扇区是6166520,我们跳转到6166520扇区,看看里

7、面是什么。494E4458是不是感觉根目录索引一样?其实是不是一样我也不清楚,呵呵。但是不是一个。以前不细心,老以外和根目录索引是一个,其实外部索引都是494E4458开头。接下来我们来搜索222的目录UNICODE名字。320032003200!直接搜索到了,就在本扇区上面,然后向上数5行,35000000文件记录编号转换成10进制是5353*2+$MFT记录扇区=2097258号扇区,来到2097258扇区没有错,从30属性这儿可以看出222目录的文件记录!有没有发现这个里面只有90属性,没有A0属性,没有80

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。