| Посл.ответ | 
Сообщение | 
 Ранг: 3.0 (гость) Активность: 0=0 Статус: Участник 
 
 | 
Создано: 15 сентября 2005 22:54   · Личное сообщение ·  #1 
Как известно прямой доступ к диску в Виндах категорически запрещен и любая программа посягнувшая на этот запрет будет тут же закрыта с выводом соответствующего сообщения...
 Но ведь сама винда как-то форматирует винт, да и "Partition Magiс" выдает такие функции что просто скулы сводит от желания... Вроде бы всё это делается через "I/O Control", отвечающий за ввод/вывод. Только вот номера функций "никому" неизвестны...{кроме самых простых и практически ненужных} Но всё в этом мире относительно... 
 Может кто-то поможет с номерами??? Или хоть какой-то инфой по этой теме...
 Спасибо заранее...
   | Сообщение посчитали полезным:  | 
 | 
  Ранг: 1288.1 (!!!!), 273thx Активность: 1.29↘0 Статус: Участник 
 
 | 
Создано: 15 сентября 2005 23:21   · Личное сообщение ·  #2 
Прямой доступ можно организовать из ring0, поподробнее смотри на wasm.ru.
   | Сообщение посчитали полезным:  | 
 Ранг: 174.2 (ветеран) Активность: 0.07↘0 Статус: Участник 
 
 | 
Создано: 15 сентября 2005 23:54   · Личное сообщение ·  #3 
master_Lee пишет:
 Как известно прямой доступ к диску в Виндах категорически запрещен и любая программа посягнувшая на этот запрет будет тут же закрыта с выводом соответствующего сообщения... 
Ну, по крайней мере для WinNT это не совсем верно. Прямой доступ к диску можно довольно легко осуществить без нулевого кольца и функций ввода-вывода. Достаточно вызвать CreateFileA, указав в качестве имени файла "\\.\PHYSICALDRIVEn", где n - номер физического диска, начиная с нуля, или "\\.\x:", где x - буква логического диска. А дальше всё как с обычными файлами - ReadFile и WriteFile. Учти только, что читать нужно блоками не меньше одного сектора (512 байт). Подробнее - в справке WinAPI.
   | Сообщение посчитали полезным:   | 
 Ранг: 495.3 (мудрец) Активность: 0.3↘0 Статус: Участник 
 
 | 
Создано: 16 сентября 2005 04:23   · Личное сообщение ·  #4 
deNULL
Только это, по-моему, называется не прямой доступ к диску, а доступ низкого уровня.
 Но, думаю, именно это и было нужно.
 ----- Всем привет, я вернулся  | Сообщение посчитали полезным:   | 
 Ранг: 495.3 (мудрец) Активность: 0.3↘0 Статус: Участник 
 
 | 
Создано: 16 сентября 2005 04:46 · Поправил: Bitfry   · Личное сообщение ·  #5 
Сейчас посмотрел WinHex так диски и открывает, через "CreateFile, указатель на \\.\C:" (то есть через Дельфовую фичу).
 А вот Partition Magiс работает как-то по-другому.
 Интересно как?
 ----- Всем привет, я вернулся  | Сообщение посчитали полезным:  | 
  Ранг: 260.3 (наставник), 2thx Активность: 0.12↘0 Статус: Участник PPC-PROTECT author 
 
 | 
Создано: 16 сентября 2005 08:39   · Личное сообщение ·  #6 
Bitfry пишет:
 Сейчас посмотрел WinHex так диски и открывает, через "CreateFile, указатель на \\.\C:" (то есть через Дельфовую фичу). 
причем тут делфи    ?
 Bitfry пишет:
 А вот Partition Magiс работает как-то по-другому. 
 Интересно как? 
наверное через драйвер
 ----- Пиво, сиськи, транс  | Сообщение посчитали полезным:   | 
 Ранг: 7.7 (гость) Активность: 0=0 Статус: Участник 
 
 | 
Создано: 16 сентября 2005 09:54   · Личное сообщение ·  #7 
В этом смысле интересна програма ADinf.
 Как указано в справке работает с диском  с помощью прерываний BIOS.
 Это и есть самый низкий уровень.
   | Сообщение посчитали полезным:  | 
 Ранг: 54.9 (постоянный) Активность: 0.02↘0 Статус: Участник 
 
 | 
Создано: 16 сентября 2005 10:03   · Личное сообщение ·  #8 
alexei-s1 пишет:
 Как указано в справке работает с диском с помощью прерываний BIOS.  
Это получается что используется Int13h не иначе, хотя более низкоуровневый вариант работа с портами I/O диска.
   | Сообщение посчитали полезным:   | 
 Ранг: 3.0 (гость) Активность: 0=0 Статус: Участник 
 
 | 
Создано: 16 сентября 2005 14:03   · Личное сообщение ·  #9 
В справке-то может и указано, но вот я очень сомневаюсь, что 13 прерывание заработает... т.к. это и есть тот самый "прямой доступ к диску"
   | Сообщение посчитали полезным:  | 
 Ранг: 51.9 (постоянный) Активность: 0.03↘0 Статус: Участник 
 
 | 
Создано: 16 сентября 2005 14:14   · Личное сообщение ·  #10 
ftp: 83.239.33.46
 Passw : cracklab
 Это FTP Крисса Каспрерского.
 Черновой вариант его книги:
 cd-cracking.funny-version.for-beer.full.zip
 Расказывается в основном о CD-приводах, но есть и о доступе к харду на секторном уровне. Всё это с прикладного уровня.
   | Сообщение посчитали полезным:  | 
 Ранг: 39.4 (посетитель), 9thx Активность: 0.01=0.01 Статус: Участник 
 
 | 
Создано: 16 сентября 2005 14:58 · Поправил: 2nd   · Личное сообщение ·  #11 
на sysinternals валяется маленькая программка которая меняет VolumeSerial диска (переписывает сектор) под любой виндой.
 Если засунуть в иду очень наглядно видны все методы доступа.
   | Сообщение посчитали полезным:  |