|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Май 24, 2003 04:13:18 Ну и как же мне его всё-таки прочитать и перезаписать? Драйверы писать не подходит... Много инфы перерыл ... конретного ответа не получил |
|
|
Дата: Май 24, 2003 07:46:49 · Поправил: P2M PRB: DeviceIoControl Int 13h Does Not Support Hard Disks или Напишите dos-приложение, которое будет читать/писать mbr в/из файл/файла, и запускайте его из своей программы. |
|
|
Дата: Май 24, 2003 09:54:58 Очень простой способ - замени в IDT обработчик какого-нибудь ненужного прерывания на свой, потом вызови это прерывание. В нём читай MBR через порты, как обычно в драйвере. На этом сайте в исходниках есть переход в Ring0 этим способом, а про чтение с винтов через порты тоже полно статей. |
|
|
Дата: Май 24, 2003 12:33:17 А может попроще можно? Я что-то слышал про CreateFile... .vxd там какой-то используется. Под дос уже давно написано, в том-то и дело, что хочется чисто для win9x |
|
|
Дата: Май 24, 2003 14:04:05 · Поправил: rst Хм.. Есть вариант под winnt. в Winnt 4.0 SP4 есть замечательная прога под названием DiskEdit.exe ( она не ставится с servicepack, но распаковывается при распаковке exe-файла сервиспука). утиль собственно говоря позволяет из-под winnt 4 (на win.NET RTM проверил только запускаемость -) ) редактировать винт. как это в ДОСовые времена делали с помощью поделки от Norton. Собственно говоря - бери в руки оную и MutekBugtrapper тебе в помощь -) распакованный сервиспак можешь на файлсраче поискать - там он есть. ( только ищи ufat.dll и untfs.dll а не сам diskedit.exe /*я думаю объяснять не надо, почему не нужно искать diskedit.exe -) */ ) Да , а под win95 почему бы не посмотреть, как это делает win95cih? ведь он портит винт ( и MBR в том числе ) |
|
|
Дата: Май 25, 2003 02:12:47 > Драйверы писать не подходит... А может быть все же написать ? ;) 1. vxd dinamic; 2. Простой *.com в autoexec, перехвативший int 13h, легко сделает это. |
|
|
Дата: Ноя 29, 2003 14:16:57 · Поправил: hello_world |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.094 |