我想出了如何通过访问引导扇区并将适当的MftStartLcn值传递到ReadFile()的第三个参数中来读取NTFS $ MFT文件的方法。现在,我想以类似方式访问$ Secure文件。我该怎么做?
我正在编写此代码,以便返回硬盘驱动器(Windows 10)上每个文件夹和文件的ACL。下面的代码为我提供了基本的文件元数据,但没有ACL和其他安全信息。我做获得安全ID。我假设我可以使用该值来检索$ Secure文件中的相关安全描述符(以及ACL)。在此先感谢您向我展示如何操作。
//Read the $MFT record from disk into memory, which is always the first record in the MFT.
ReadFile(buffer, _diskInfo.BytesPerMftRecord, _diskInfo.MftStartLcn * _diskInfo.BytesPerSector * _diskInfo.SectorsPerCluster);
//This brings back the basic file metadata but not the security/permissions data