![]() |
eXeL@B —› Вопросы новичков —› Отладка 16 кода ntldr на Vmware |
Посл.ответ | Сообщение |
|
Создано: 15 декабря 2011 10:43 · Поправил: antipod · Личное сообщение · #1 Здравствуйте. Стало интересно посмотреть как работает ntldr (16 битная часть) по живому. Для этого использую связку Ida Pro 6.1+Vmware 7.0. Аттачусь к win xp все нормально. Ставлю бряк на 0x7c00 все нормально срабатывает смотрю mbr. Но бряк на 0x2000 не срабатывает. Как надо выставить адреса в memory regions? По умолчанию ida создает 32 битный сегмент. Не совсем понятно из каких соображений ставить (Start Adress;End Adress;Base Adress). Кто отлаживал ntldr в такой связке подскажите что исправить? Upd: С бряком разобрался надо ставить на 0x00020000. Осталось разобратьcя что ставить в memory regions ![]() |
|
Создано: 16 декабря 2011 19:02 · Личное сообщение · #2 antipod В MBR и boot-секторе не наберется и сотни команд. К тому же можно найти инфу на сайтах разработчиков ОС. Неужели сложно понять где JMP на ntldr. Там все и увидишь. При дизассемблировании IDA бинарников можно задавать подгружаемые файлы - вот там ты и получишь нормальную битность сегментов, если начнешь с MBR или бут-сектора и подгрузишь ntldr по правильному адресу. ![]() |
|
Создано: 16 декабря 2011 20:32 · Поправил: Veliant · Личное сообщение · #3 до ntldr не доходил, а mbr успешно трейсил в ida. Когда остановишься на 7c00 жмешь Alt+S (меню edit-segments-edit segment) и ставишь 16bit. Ida спросит мол все метки собьются, ты уверен что хочешь продолжить, жмешь да и все. Отображается норм код и трейсится. Устанавливая бряки убедись что стоит галка Hardware ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Отладка 16 кода ntldr на Vmware |