1

我尝试从 python 的本地磁盘读取 MFT 表。当然,如果我写这样的东西:

input_file = open('C:\$MFT', "rb")

我会得到

[ Errno 13] 权限被拒绝:'C:\$MFT'

我尝试使用 pyMFTGrabber,但它不起作用;我有很多“socket.errors”。

使用 Python 读取此文件的最佳和最简单的方法是什么?
也许是一些 WinAPI 或其他什么?阅读后我想用它来分析它"analyzeMFT"

4

2 回答 2

1

python 相当痛苦,因为它不是低级的。

我认为你应该从这个开始:

L"\\\\?\\C:\\$MFT" 是您需要在 MS 的 VC++ API 中使用的命名空间,以便创建 MFT 的句柄。

您应该考虑查看您提到的抓取器的源代码pyMFTGrabber并向下滚动到底部,它会向您展示作者如何访问该文件(它看起来准确 - 读取扇区而不是尝试直接访问$MFT,并且看起来很好评论也)。如果您阅读了该项目的详细信息,它会说这是一个“从实时系统中检索 NTFS 文件系统的主文件表 (MFT) 记录的脚本”。

于 2014-08-18T19:38:24.417 回答
0

与此同时,出现了其他选项:有一个库可以从名为analyzeMFT的 NTFS 文件系统分析主文件表 ($MFT) 。

analyzeMFT.py 旨在完全解析来自 NTFS 文件系统的 MFT 文件,并以多种格式尽可能准确地呈现结果。

要获得它,请使用pip (当前版本 2.0.19)或从GitHub 上找到的源安装它

pip install analyzeMFT
于 2018-06-14T02:19:17.183 回答