Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

qemu+gdb

64K
13 сентября 2011 года
az20110303
29 / / 13.09.2011
хочу пореверсить ядро, для начала пробую элементарные вещи

запускаю qemu так:
qemu-system-x86_64 -s -S

подключаюсь с помощью gdb
Цитата:
gdb
(gdb) target remote localhost:1234

Remote debugging using localhost:1234
Дялее

Цитата:
0x0000fff0 in ?? ()
(gdb) x/i $pc
=> 0xfff0: add %al,(%eax)
(gdb) display/i $pc
1: x/i $pc
=> 0xfff0: add %al,(%eax)
(gdb) si
0x0000e05b in ?? ()
1: x/i $pc
=> 0xe05b: add %al,(%eax)
(gdb) si
0x0000c81e in ?? ()
1: x/i $pc
=> 0xc81e: add %al,(%eax)
(gdb) si
0x0000c821 in ?? ()
1: x/i $pc
=> 0xc821: add %al,(%eax)
(gdb) si
0x0000c827 in ?? ()
1: x/i $pc
=> 0xc827: add %al,(%eax)
(gdb)


По сути я щас нахожусь в стартап-коде биоса. При выполнении si инструкции успешно выполняются. Но какого он мне кажет вот это:

Цитата:
add %al,(%eax)


, то есть он думает, что в памяти одни нули. Но В памяти не нули, это также понятно по тому, как изменяется $pc.
Что делать, как заставить его казать нормальный ассемблерный код?

14
13 сентября 2011 года
Phodopus
3.3K / / 19.06.2008
16-битный код исполняется?
64K
14 сентября 2011 года
az20110303
29 / / 13.09.2011
>16-битный код исполняется?
Выполняется код начальной загрзки виртуальной машины, то есть код биоса. Он не может быть не 16битным, правильно?
А если вы имели ввиду "выполняется ли 16битный код нормально?" - да, он выполняется нормально. Если выполнить continue, код биоса успешно выполняется и выводит сообщения, что нет носителей с системой.
14
15 сентября 2011 года
Phodopus
3.3K / / 19.06.2008
Если вы обратили внимание, gdb почему то считает сегмент кода 32-битным. От этого могут быть глюки
64K
15 сентября 2011 года
az20110303
29 / / 13.09.2011
Цитата: Phodopus
Если вы обратили внимание, gdb почему то считает сегмент кода 32-битным. От этого могут быть глюки



Да обратил внимание. А не подскажете, как переключиться в 16битное представление?

14
17 сентября 2011 года
Phodopus
3.3K / / 19.06.2008
к сожалению плохо знаю gdb и его возможности. погуглите, что то было на эту тему но находилось не сразу.
5.9K
19 апреля 2012 года
assign
60 / / 13.12.2005
(gdb) set architecture i8086

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог