PDA

Просмотр полной версии : Boot сектор


KSoniX
30.01.2008, 15:29
Как записать какую нибуть прогу в Boot сектор в СИ ?

spider-intruder
30.01.2008, 15:45
int i=0;
int res;
HANDLE f;
unsigned long offs=0;
char buf[1024];
f=CreateFile("\\\\.\\C:",GENERIC_WRITE|GENERIC_READ,FILE_SHARE_WRITE,NULL, OPEN_EXISTING,NULL,NULL);
res=ReadFile(f,buf,1024,&offs,0);
FlushFileBuffers(f);

Ну вот так я читаю диски напрямую - замени ReadFile на WriteFile и пиши

А вот что ты будешь туда писать это уже совсем другая история

А еслиты хочешь чтоб это еще и исполнилось в добавок при старте - советую тебе найти информацию про дисковую подсистему, почитать что происходит когда включается комп, что такое МБР.... Выучить асм а потом уже лезть в эту тему :-)

KEZ как всегда жжет :-)

KSoniX
30.01.2008, 15:46
почему в асме тоже можна

KSoniX
30.01.2008, 15:49
коды запуска
ну как да boot сектор загружается он запускал маю прогу

spider-intruder
30.01.2008, 15:50
ЧЕГО??????????????????????? Стукни в асю не смеши людей :-) то тебе хуки то тебе БУТ сектор - че ты там пишешь такое...

Потрите топик нах :-)

krypt3r
30.01.2008, 15:52
Кстати, скиньте кто-нить dll-ку, в которой работает API-фукция WriteToBootSector. Давно искал

spider-intruder
30.01.2008, 16:42
Вот тебе пример запись и чтения метки с дискеты (када то просили сделать)

http://www.sendspace.com/file/yll0aa


Но учти! Винда доступа к прерываниям тебе не даст поэтому - либо юзай тот вариант что я тебе дал первым, либо пиши драйвер для работы с диском на уровне прерываний.

Помимо того что ты научишься туда писать не забывай - что обычный блокнот тебе в бутсектор не записать )))

Там нет ни апи ни длл - там есть голый проц - короче учи работу с компом на уровне прерываний, работу с памятью...

В общем - УДАЧИ :-)

Jes
31.01.2008, 17:00
>> почистил ...