Выполняется ли первый сектор (MBR) флэш-диска при вставке в компьютер - PullRequest
0 голосов
/ 06 сентября 2011

Выполняются ли первые 512 байт всякий раз, когда я вставляю флешку в любой компьютер?Если да (что должно быть), то я полагаю, что если я извлеку и разберую MBR и вставлю ссылку, указывающую на место в памяти хранимого исполняемого файла (на флэш-диске), даже этот исполняемый файл будет будет выполняться всякий раз, когда он подключен к компьютеру ..?

Как я могу это сделать?Я имею в виду, что только простое call <address> не сделает этого ... Я также хочу узнать больше о MBR флешек, поскольку они отличаются от тех MBR, которые загружают операционную систему.Погуглить, потому что ничего полезного не получается .. Так что я подумал спросить сообщество, делал ли кто-то что-то подобное раньше.

1 Ответ

2 голосов
/ 06 сентября 2011
  1. Нет
  2. В некоторых операционных системах есть функция автозапуска, которая устарела.

Флэш-диски основаны на слоях устаревшей технологии, чтобы избежать необходимости в драйверах.
На самом низком уровне находятся USB-пакеты (см. Спецификацию Mass Storage Device согласно Pascal Cuoq)
Каждая из транзакций USB представляет собой пару команда / ответ SCSI.
Операционная система рассматривает флэш-диск как диск SCSI (например, в Linux вы увидите / dev / sdX).

Поскольку флэш-диск выглядит как обычный диск SCSI, он обычно имеет таблицу MBR / разделов. Однако большинство операционных систем поддерживают режим «superfloppy», и в этом случае диск запускается с загрузочного сектора FAT. Некоторые флэш-накопители меньшего размера или отформатированные с помощью устаревших утилит могут быть в этой конфигурации.

В качестве примера можно указать MBR флэш-накопителя в Windows с помощью утилиты DSKPROBE от Microsoft (используйте опцию PhysicalDrive) или с помощью «dd.exe», используя. \ PhysicalDriveX (где X - это число .. обычно 2, в зависимости от того, как сколько у вас жестких дисков)

На правильно настроенных компьютерах невозможно выполнить код при подключенном устройстве.
Даже когда функция автозапуска была включена по умолчанию, вам нужно было использовать устройство, которое оказалось CDROM.
(Набор команд SCSI позволяет устройству сказать, будет ли это CD или HD, и прошивка флэш-накопителя может легко лежать)

...