在网上寻找如何读/写 MFT 的解释时,我发现了以下部分:(http://www.installsetupconfig.com/win32programming/1996%20AppE_apnilife.pdf http://www.installsetupconfig.com/win32programming/1996%20AppE_apnilife.pdf)
如果 NtfsProtectSystemFiles 设置为 FALSE,则特殊文件可以
被打开。然而,也存在一些相关的缺点
尝试这样做:因为许多特殊文件是在
安装卷时采用特殊方式,他们不准备
处理因调用 ZwReadFile 而产生的 IRP_MJ_READ 请求,
如果收到这样的请求,系统就会崩溃。这些特殊的
可以通过使用 ZwCreateSection 映射特殊文件来读取文件
ZwMapViewOfSection,然后读取映射的数据。进一步的问题
是一些特殊文件没有准备好处理
当最后一个句柄指向某个对象时生成的 IRP_MJ_CLEANUP 请求
文件对象被关闭,如果这样的请求,系统将崩溃
已收到。唯一的选择是将打开的句柄复制到
将特殊文件放入永不终止的进程(例如系统
过程)。
- “他们不准备处理 IRP_MJ_READ 请求”是什么意思,需要什么样的准备?什么是IRP_MJ_READ?
- “用ZwCreateSection和ZwMapViewOfSection映射特殊文件,然后读取映射的数据”如何解决这个问题?
- “文件未准备好处理关闭文件对象的最后一个句柄时生成的 IRP_MJ_CLEANUP 请求”是什么意思?又是什么准备?什么是IRP_MJ_CLEANUP?
- “将特殊文件的打开句柄复制到一个永不终止的进程中”如何解决问题?
这是旧数据(1996 年起)。而且还有一点点不正确。从那时起,世界一直在前进。
您可以尝试打开 \$MFT 来读取 MFT,但正确获取访问位可能会出现问题。你也可以写它们,但这确实是在玩火。文件系统不希望它的数据结构在没有它参与的情况下被修改。
最好打开原始分区并直接遍历磁盘结构。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)