Установка загрузчика
-----------------
1. Инсталлер анализирует жесткий диск (\??\PHYSICALDRIVEx): проверяется таблица разделов, 
 рассчитываются размеры неиспользованного пространства перед первым и после последнего раздела.
2. При наличии неиспользованной области достаточного размера в неё записывается код
 драйвера. 
3. Инсталлер читает код VBR (Volume Boot Record), находящийся в первых 
 15 секторах загрузочного раздела (\Device\HarddiskХ\PartitionХ).
4. Код VBR сжимается, к нему дописывается загрузчик так, чтобы при старте VBR получить 
 управление.
5. Новый код VBR, включающий загрузчит, запиывается на место старого кода VBR.

OC Win7 запрещает запись в сектора диска, принадлежащие тому файловой системы.
 Тем не менее, Win7 всегда имеет пустой участок размером ~1МБ перед первым 
 разделом диска. Для XP и Vista, в случае отстутсвия неиспользованного пространства, 
 возможна запись кода драйвера в последние сектора последнего раздела.
Чтение и запись секторов диска производится путем открытия устройства \??\PHYSICALDRIVEx, с
 использованием нативных функций NT: NtCreateFile, NtReadFile, NtWriteFile.

Таким образом, чтобы гарантировать корректную установку загрузчика и драйвера необходимо:
1. Наличие прав администратора, а для OC Vista и Win7, также, 
 наличие повышенных привелегий (UAC).
2. Наличие возможности беспрепятственно открывать, производить чтение и запись устройств
 \??\PHYSICALDRIVEx и \Device\HarddiskХ\PartitionХ



FAQ


> так же меня интерисуют где хранится будут мои дллки которые инжектятся в процесс ?

В последних секторах системного тома.

> если винду снесут,руткит + мои длл останутся?

Нет, не останутся.
Мало кто может пережить переустановку систему.
Сделать такое можно, но будет дорого и я не уверен, что это нужно.

> и буткит ты рассказывал там какойто крутой метод ?
> тобишь запись не в mbr , а чтото другое,приватное опиши плиз подробнее.

Вкратце, у нас внедрение не в MBR, а в загрузочные файлы системы.
