gpt4 book ai didi

windows - 转储 $mft 文件的内容

转载 作者:可可西里 更新时间:2023-11-01 14:14:06 24 4
gpt4 key购买 nike

对于我正在做的一些商业项目,我需要能够读取存储在 $mft 文件中的实际数据。

我找到了一个 gpl lib这可能会有所帮助,但由于它是 gpl,我无法将它集成到我的代码中。

有人可以指点我可以使用的项目/或指点我相关的 Windows API(不需要 1000 行代码即可实现的东西)

顺便说一句,为什么 Windows 不允许我直接读取 mft 文件? (通过创建文件和读取方法,如果我想毁掉我的驱动器,那是我的事,不是女士的事)。

谢谢。

最佳答案

您只需使用\.\X 上的 CreateFile() 打开卷的句柄:其中 X 是驱动器号(查看 CreateFile() 上的 MSDN 文档,它在备注部分)。

将第一个扇区读入 NTFS 引导记录结构(您可以在网上找到它,搜索 Richard "Flatcap"Russon,编辑:我找到了,http://www.flatcap.org/ntfs/ntfs/files/boot.html)。引导扇区结构中的一个字段给出了 MFT 在簇中的起始位置($MFT 的 VCN 0 的 LCN),您必须对该位置执行 SetFilePointer() 读取扇区的倍数。该位置的前 1024 个字节是 $MFT 的文件记录,您可以再次解析此结构以找到始终非常驻的数据属性,它的大小是当时 MFT 文件的实际大小。

$Boot、文件记录和基本属性(标准信息、文件名和数据)的基本结构以及解析代码应该运行不到 1000 行代码。

关于windows - 转储 $mft 文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4920243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com