> Но есть вопросы! Почему два смещения (0x130 и 0х1C0)? Два смещения наверное потому, что эта информация хранится не в одной структуре, а в одном из аттрибутов (каждый из которых описывается структурой) собранных в массив. Чтобы представить что это такое - вспомни как возвращает данные NtQuerySystemInformation. То что данный аттрибут чаще всего лежит по одному и тому же смещению вовсе не означает, что он не может лежать где угодно еще. То бишь хоть ФС и создается всегда одной и той же программой при одних и тех же начальных условиях (форматирование чистого раздела), это еще не значит, что ее нельзя создать иначе.
Описывать как именно оно валяется не буду - слишком много и возможно излишне для решения данной конкретной проблемы (этот аттрибут скорее всего лежит там, где и было указано). Если интересно - могу скинуть на мыло доку.
> Хочу прогу написать... Как открыть файл #3 на $VOLUME, > расскажите, плз. Файл #3 это третья по счету запись в MFT (первые 16 записей - специальные и всегда жестко заданы), как уже указано, называется этот спецфайл $Volume, но наверное так было написано для вящей мудрости, потому как простому смертному открыть этот файл очень трудно, а там всего лишь содержится том. На самом деле, чтоб открыть том, нужно просто сделать CreateFile("\\\\.\\C:", ...) для диска C и т.д. по аналогии.
Успехов в бою. Не забудь снять образ :-)
|