Как программно получить данные из файла NTFS $ Secure? - PullRequest
0 голосов
/ 09 января 2019

Я понял, как прочитать файл NTFS $ MFT, получив доступ к загрузочному сектору и передав соответствующее значение MftStartLcn в третий параметр ReadFile (). Теперь я хочу получить доступ к файлу $ Secure аналогичным образом. Как мне это сделать?

Я пишу этот код, чтобы вернуть ACL для каждой папки и файла на моем жестком диске (Windows 10). Мой код ниже дает мне основные метаданные файла, но не ACL и другую информацию о безопасности. Я делаю получить идентификатор безопасности. Я предполагаю, что затем смогу использовать это значение для получения соответствующего дескриптора безопасности (и, следовательно, списков ACL) в файле $ Secure. Заранее спасибо, что показали мне, как это сделать.

//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
...