> Файл #3 это третья по счету запись в MFT (первые 16 записей > - специальные и всегда жестко заданы), как уже указано, > называется этот спецфайл $Volume, но наверное так было > написано для вящей мудрости, потому как простому смертному > открыть этот файл очень трудно, а там всего лишь содержится > том. На самом деле, чтоб открыть том, нужно просто сделать > CreateFile("\\\\.\\C:", ...) для диска C и т.д. по > аналогии.
Насколько я понял, нужно:
1) CreateFile("\\\\.\\C:", ...).
Тут вопрос: остальные параметры какие должны быть?
Полученный хендл используется в ReadFile\WriteFile или в DeviceIOControl?
Если в DeviceIOControl, то какие должны быть Control Codes для чтения-записи?
2) сперва нужно открыть #1 запись (прочитать n-е кол-во байт)...
3) из этой записи извлечь размер MFT и «перейти» на #3...
4) сделать далее по алгоритму неизвестного дядьки, проконтролировав валидность версий NTFS по одному из смещений...
Вроде так?
|