Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как записать загрузочную область флешки? [D7, WinXP]


YaroslavSh ©   (2008-01-13 19:51:00) 

Вообщем есть файл bootsect.bin, с правильным загрузчиком для флешки, нужно записать его на флешку. Его можно записать например через winimage, но хочется самому попробовать сделать. Пдскажите, пожалуйса, как это сделать?


  (2008-04-23 12:51:00) [1]

Удалено модератором


  (2008-04-23 12:50:00) [2]

Удалено модератором


YaroslavSh   (2008-01-14 22:49:00) [3]

Всё, разобрался благодаря "BlackCash". Спасибо ему огромное.


grisme   (2008-01-14 10:48:00) [4]

в твоем примере на ассемблере - даже не пытайся %-) ибо PHYSICALDRIVE0 ето бутовый веник. O__o убъешь нафик %-)


palva   (2008-01-13 23:58:00) [5]

Ну наверно проще будет на Delphi это записать или на c. Я все равно сейчас немножко принял в связи с Новым годом. Недосуг, так сказать. Кстати тоже поздравляю 2 минуты осталось.


YaroslavSh   (2008-01-13 22:35:00) [6]

Да, из своей программы. palva спасибо большое за помощь, только если не трудно и есть время объясни как этим записать MBR, самому тяжло разобраться.
XOR EAX,EAX
PUSH EAX; hTemplateFile
PUSH dword FILE_ATTRIBUTE_NORMAL; dwFlagsAndAttributes
PUSH dword OPEN_EXISTING; dwCreationDisposition
PUSH EAX; lpSecurityAttributes
PUSH dword FILE_SHARE_WRITE; dwShareMode
PUSH dword (GENERIC_WRITE OR GENERIC_READ); dwDesiredAccess
PUSH DEVICE_NAME; имя устройства
CALL CreateFile; открываем устройство
INC EAX
TEST EAX,EAX
JZ error
DEC EAX
DEVICE_NAME DB "\\.\PHYSICALDRIVE0",0
BUF RB 512; буфер


palva   (2008-01-13 22:09:00) [7]


> Мне интересно как записать самому.

Самому это из своей программы что ли? Тогда [2].


YaroslavSh   (2008-01-13 22:00:00) [8]

Я знаю как другими программами заисать. Мне интересно как записать самому. Как я понимаю, то нужно файл bootsect.bin = 512 байт, побайтно скопировать на флешку с адреса 0 по 511 байт (загрузочная область)  и всё. У меня в этом проблема.


palva   (2008-01-13 21:58:00) [9]

Оказывается все просто. Функция CreateFile и т. д. См. здесь
http://www.dotfix.net/module.php?module=@6e786b36677871626f6372626d6161


palva   (2008-01-13 21:50:00) [10]

> Как записать загрузочную область флешки?
Из DOS, запустив Norton Disk Edit или написав собственную программу через прерывание 13h см. http://www.codenet.ru/progr/dos/int_0012.php
Как сделать из Windows-XP - не знаю. Прямая работа с железом здесь пресекается. Возможно, есть какие-то хакерские приемы.


Наверх

Титульная страница Поиск, карта сайта Написать письмо