Прямой доступ к секторам HDD вплоть до MBR - как?
От: rastoman  
Дата: 16.05.03 22:03
Оценка:
Уже месяц наверное исчу инфу как мне из под всех версий Windows (9x-XP) достучаться физически до любого сектора винчестера, в частности до 0-го — MBR, никак не могу прогу в окна перегнать. Может знает кто конкректный ответ на этот фопрос, а то ну нигде ничего толкового не нашёл, запарился, как бы и интересно и полезно в тоже время. Помогите пожалуста.
Re: Прямой доступ к секторам HDD вплоть до MBR - как?
От: Lonely Dog Россия  
Дата: 17.05.03 10:18
Оценка:
Здравствуйте, rastoman, Вы писали:

R> Уже месяц наверное исчу инфу как мне из под всех версий Windows (9x-XP) достучаться физически до любого сектора винчестера, в частности до 0-го — MBR, никак не могу прогу в окна перегнать. Может знает кто конкректный ответ на этот фопрос, а то ну нигде ничего толкового не нашёл, запарился, как бы и интересно и полезно в тоже время. Помогите пожалуста.


На мой взгляд, универсального способа нет. Под 9x надо открывать устройство vwin32 и отдавать ему набор команд через IOCTL. Под NT надо открывать диск как файл (CreateFile) и далее работать с ним как с обычным файлом. Если нужны, подробности, могу закинуть, все, что у меня есть.
Re: Прямой доступ к секторам HDD вплоть до MBR - как?
От: Valerio Россия linkedin.com/in/boronin
Дата: 17.05.03 11:44
Оценка: 6 (1)
Здравствуйте, rastoman, Вы писали:

R> Уже месяц наверное исчу инфу как мне из под всех версий Windows (9x-XP) достучаться физически до любого сектора винчестера, в частности до 0-го — MBR, никак не могу прогу в окна перегнать. Может знает кто конкректный ответ на этот фопрос, а то ну нигде ничего толкового не нашёл, запарился, как бы и интересно и полезно в тоже время. Помогите пожалуста.


может быть это поможет?
... << RSDN@Home 1.0 beta 7a >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[2]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: rastoman  
Дата: 17.05.03 17:34
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>На мой взгляд, универсального способа нет. Под 9x надо открывать устройство vwin32 и отдавать ему набор команд через IOCTL. Под NT надо открывать диск как файл (CreateFile) и далее работать с ним как с обычным файлом. Если нужны, подробности, могу закинуть, все, что у меня есть.


На счёт NT — CreateFile даёт доступ к секторам логических дисков (c,d,...), к чему бы отнести нулевую дорожку? Официально она ОСями не используется. Однако в WinHex оргаеизован доступ и к ней. Так что ответ на вопрос есть, но где он?
Если не трудно, ты выложите инфу по CreateFile — как раз-таки всё, что есть, а не отрывками из расмотрения проблемы....
Re[2]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: rastoman  
Дата: 17.05.03 17:40
Оценка:
Здравствуйте, Valerio, Вы писали:

V>может быть это поможет?


Данный вариант также не даёт доступа к MBR.
Re[3]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: Алексей Владимирович Миронов Россия  
Дата: 18.05.03 15:06
Оценка:
Здравствуйте, rastoman, Вы писали:

R>На счёт NT — CreateFile даёт доступ к секторам логических дисков (c,d,...), к чему бы отнести нулевую дорожку? Официально она ОСями не используется. Однако в WinHex оргаеизован доступ и к ней. Так что ответ на вопрос есть, но где он?


Читаем описание к функции CreateFile в MSDN:

When opening a physical drive, x, the lpFileName string should be of the 
form \\.\PHYSICALDRIVE<x>. Hard disk numbers start at zero. The following table 
shows some example physical drive strings. 

String             Meaning 
\\.\PHYSICALDRIVE0 Opens the first physical drive. 
\\.\PHYSICALDRIVE2 Opens the third physical drive.
... << RSDN@Home 1.0 beta 6a >>
Re[4]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: rastoman  
Дата: 18.05.03 19:32
Оценка:
Ясно, спасибо, хоть что-то новое за столько времени, а как же мне в таком случае получить список всех физических устройств в компьютере? И распространяется-ли данный параметр и на CD-ROM? Ранее например коды были 80h,81h.
Re[3]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: Valerio Россия linkedin.com/in/boronin
Дата: 19.05.03 10:51
Оценка:
Здравствуйте, rastoman, Вы писали:

R>Здравствуйте, Valerio, Вы писали:


V>может быть это поможет?


R>Данный вариант также не даёт доступа к MBR.


что значит тоже?
данный вариант для НТ кажется cсылался на использование \\.\PHYSICALDRIVEX
что позволяет добраться до любого сектора на диске, включая MBR

еще до информации из MBR можно попробовать добраться через IoReadPartitionTable(Ex)

кстати, на XP MBR изменил вид — подробности тут:
Windows XP Support for New Partition Table Format
... << RSDN@Home 1.0 beta 7a >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[5]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: Patalog Россия  
Дата: 19.05.03 11:46
Оценка:
Здравствуйте, rastoman, Вы писали:

R> И распространяется-ли данный параметр и на CD-ROM? Ранее например коды были 80h,81h.


С CD лучше иметь дело via SPTI (ASPI для w9x)
Почетный кавалер ордена Совка.
Re[6]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: rastoman  
Дата: 19.05.03 13:56
Оценка:
А как на счёт полцчения списка устройств? сколько веников и т.д.?
Re[4]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: rastoman  
Дата: 19.05.03 14:03
Оценка:
IoReadPartitionTable(Ex) — где инфу взять

Windows XP Support for New Partition Table Format — и это где найти?
Re[4]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: rastoman  
Дата: 19.05.03 14:07
Оценка:
Windows XP Support for New Partition Table Format — где это взять и где найти описание
IoReadPartitionTable(Ex) ?
Re[5]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: Аноним  
Дата: 19.05.03 14:08
Оценка:
Здравствуйте, rastoman, Вы писали:

R>IoReadPartitionTable(Ex) — где инфу взять


Эта функция вам не поможет. Ее можно использовать только из драйверов.

R>Windows XP Support for New Partition Table Format — и это где найти?


Re[5]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: masta Россия  
Дата: 19.05.03 14:21
Оценка:
Здравствуйте, rastoman, Вы писали:

R>Windows XP Support for New Partition Table Format — где это взять и где найти описание

R>IoReadPartitionTable(Ex) ?

Ну попробуйте Google, MSDN...

может, поможет =)))
Re[5]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: Valerio Россия linkedin.com/in/boronin
Дата: 19.05.03 14:35
Оценка:
Здравствуйте, rastoman, Вы писали:

R>Windows XP Support for New Partition Table Format — где это взять и где найти описание

R>IoReadPartitionTable(Ex) ?
да, эта ф-я конечно же доступна для использования из драйверов, как выше заметили
ее описание ищите в DDK, online DDK есть на сайте MS и на сайте OSR

Appendix: Windows DDK
Windows XP Support for New Partition Table Format
Windows XP supports the Extensible Firmware Interface (EFI), a new standard for the interface provided by the firmware that boots PCs. Microsoft will support EFI as the only firmware interface to boot the 64-bit version of Windows for Itanium-based systems. Because the 64-bit version of Windows will not boot with BIOS or with the system abstraction layer (SAL) alone, EFI is a requirement for all Itanium-based systems to boot Windows.

Windows XP also supports the Globally Unique Identifier (GUID) Partition Table (GPT), which was introduced as part of the EFI initiative. GPT complements the older Master Boot Record (MBR) partitioning scheme that has been common to PCs. GPT allows use of very large disks. The number of partitions on a GPT disk is not constrained by temporary schemes such as container partitions, as defined by the MBR Extended Boot Record (EBR).

The GPT disk partition format is well defined and fully self-identifying. Data critical to platform operation is located in partitions and not in unpartitioned or hidden sectors. GPT disks use primary and backup partition tables for redundancy and CRC32 fields for improved partition data structure integrity. The GPT partition format uses version number and size fields for future expansion. Each GPT partition has a GUID and a partition content type, so no coordination is necessary to prevent partition identifier collision. Each GPT partition has a 36-character Unicode name, which means that any software can present a human-readable name for the partition without any additional understanding of the partition.

For information about the EFI standard, see the Extensible Firmware Interface Web site.

Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[6]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: rastoman  
Дата: 20.05.03 13:49
Оценка:
Ну в принципе на кой чёрт мне писать драйвер? Я уже с помощью CreateFile прочёл этот чёртов MBR, а таблицу разделов я впринципе уже смогу выделить и анализировать
Re[7]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: Valerio Россия linkedin.com/in/boronin
Дата: 20.05.03 13:59
Оценка:
Здравствуйте, rastoman, Вы писали:

R>Ну в принципе на кой чёрт мне писать драйвер? Я уже с помощью CreateFile прочёл этот чёртов MBR, а таблицу разделов я впринципе уже смогу выделить и анализировать


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

рад, что все получилось, а то пугаете людей такими заявлениями
Автор: rastoman
Дата: 17.05.03
...
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[8]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: rastoman  
Дата: 21.05.03 09:21
Оценка:
А как на счёт полцчения списка устройств? сколько веников и т.д.?
Re: Прямой доступ к секторам HDD вплоть до MBR - как?
От: rastoman  
Дата: 24.05.03 00:41
Оценка:
А можно плиз поподробнее как мне из 9x этот MBR прочитать/записать?
Re[2]: Прямой доступ к секторам HDD вплоть до MBR - как?
От: .h  
Дата: 27.05.03 10:52
Оценка:
Здравствуйте, rastoman, Вы писали:

R>А можно плиз поподробнее как мне из 9x этот MBR прочитать/записать?

int 25h (об этом писали выше) или int 13h (несколько сложнее, чем int 25h)
К int 13h есть исходники.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.