Я пытаюсь отследить MBR на очищенном жестком диске. Жесткий диск не загружается, поэтому я пытался изменить MBR через DEBUG.exe. Проблема начинается с моей 64-битной машины, потому что debug.exe - это 16-битная программа, которая больше не поддерживается, если у вас нет DosBox.

Я понимаю, что DosBox является эмулятором, и у меня есть базовые знания о разделении между режимом пользователя и режимом ядра, а также некоторые фрагментированные исследования внутренней архитектуры NT.

Мой главный вопрос: Если я запускаю DosBox и монтирую жесткий диск, я пытаюсь отладить. Я просматриваю память на жестком диске, если запускаю Debug.exe со смонтированного диска через DosBox или просто просматриваю 64-битную машину на хосте, на которой запущен DosBox?

Я использую это как возможность обучения, поэтому любая помощь или направление приветствуются.

1 ответ1

2

Программа под названием HxD позволит вам редактировать сектор 0 в шестнадцатеричном формате, как старые добрые редакторы секторов, в те времена под Windows. В Linux у вас есть bvi похожий на vi но в шестнадцатеричном - просто откройте /dev/sdb или любое другое устройство с корневым диском (пока оно не смонтировано) и взломайте его.

Я не верю, что DosBOX эмулирует низкоуровневый доступ к подключенным дискам - все работает на уровне файлов - поэтому использование debug.exe не сработает. Кроме того, насколько я помню, вы должны загрузить сектор в ОЗУ с помощью команды l или чего-то подобного, отредактировать его в памяти, а затем записать сектор обратно.

Имейте в виду утилиту Testdisk, которую я использовал не раз для извлечения файлов с дисков с перезаписанными таблицами разделов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .