1

我需要一种简单、轻量级的方法来读取 Windows 服务器上的 NTFS MFT,仅使用 C。我的目标是以编程方式为我的公司正在构建的应用程序返回一组目录及其权限。

我在 StackOverflow 和其他地方研究过的所有其他答案都涉及使用 C++ 或其他语言,并且通常非常臃肿。我很确定只需几行代码就可以完成我想要的工作,使用 Windows API 调用 CreateFile(获取根卷的句柄)和 DeviceIoControl(读取 MFT)。但我找不到一个简单的 C 解决方案来做到这一点。

请注意,尽管我多年来一直是 C#/.NET 开发人员(并且还了解其他语言,包括 Java 和 Python),但我对低级 C 编程和 Windows API 调用还是相当陌生。我也意识到也有一个免费的 Mft2Csv 可以做到这一点。但是我无法使用实际的源代码进行逆向工程(GitHub 只有可执行文件和支持文件)。

我还意识到我可以使用 C# .NET 命名空间 System.IO 和 System.Security.AccessControl 来解析目录树。但这对于我的目的来说太慢了。

4

0 回答 0