在NTFS阅读MFT(Reading MFT in NTFS)

2019-09-20 03:56发布

虽然徘徊在网络寻找如何读/写MFT的解释,我发现如下因素部分:( http://www.installsetupconfig.com/win32programming/1996%20AppE_apnilife.pdf )

如果NtfsProtectSystemFiles设置为FALSE,则该特殊文件可以打开。 有,但是,与试图做此相关的一些缺点:由于许多特殊的文件都以特殊的方式安装卷时开了,他们不准备来处理来自于ZwReadFile通话产生的IRP_MJ_READ请求,系统如果接收到这样的请求崩溃。 这些特殊的文件可以通过映射与ZwCreateSection和ZwMapViewOfSection特殊的文件,然后读取映射的数据读取。 进一步的问题是,一些特殊的文件是不准备处理时,最后一个句柄到一个文件对象被关闭所产生的IRP_MJ_CLEANUP请求,如果接收到这样的请求的系统崩溃。 唯一的选择是开门把手的特殊文件复制到该永远不会终止(例如系统进程)的过程。

  1. 这是什么意思“他们不准备来处理IRP_MJ_READ请求”需要什么样的准备? 什么是IRP_MJ_READ?
  2. “映射与ZwCreateSection和ZwMapViewOfSection特殊的文件,然后读取数据映射”那如何解决这个问题?
  3. 这是什么意思是“不准备文件来处理,当最后一个句柄到一个文件对象被关闭所产生的IRP_MJ_CLEANUP请求”再那是什么准备? 什么是IRP_MJ_CLEANUP?
  4. “重复开门把手的特殊文件到从未终止进程”那如何解决这个问题?

Answer 1:

这是旧的数据(1996)。 甚至是有点不正确了。 自那时以来,世界已经改变。

你可以尝试打开\ $ MFT读取MFT,但得到的访问权位可能是有问题的。 你也可以写他们,但是那真的在玩火。 该文件系统不希望它的数据结构将被修改,没有它的参与。

您是关打开分离原料,直接走在磁盘结构要好得多。



文章来源: Reading MFT in NTFS