Перейти к содержанию

Ассемблер/дизассемблер


Рекомендуемые сообщения

Здравствуйте!

FedoraCore4...

Подскажите, пожалуйста, какими программами можно дизассемблировать исполнимый файл и какие HEX-редакторы используются на UNIX?

Если не сложно, подскажите правила написания кода режима ядра. Например:

asm {

sgdt mem

movl mem , %eax

movl [%eax] , var

}

т.е получаем содержимое GDT и пытаемся прочитать содержимое ячейки памяти по полученному адресу.

Переменные описаны как глобальные, так что ошибки сегментации быть не может.

Последняя строка вызывает ошибку сегментации, как и команда:

(gdb) m 0xA00000FF

Насколько я понимаю, мы пытаемся получить доступ к ядру, но делаем это несанкционированно. В таком случае, первая команда тоже должна была вызвать исключение, т.к ее выполнение допускается при нулевых двух младших битах CS?

И еще был бы рад описанию синтаксиса команд ассемблера, т. к. я изучал TASM, а UNIX его не понимает...

Ссылка на комментарий
Поделиться на другие сайты

NASM. Синтаксис Интеловский, только поприличнее, чем в ТАСМе Smile. В поставке идет и дизассемблер. Еще почитайте info binutils.

ЗЫ: Насколько я помню, асмовставки реализуются не как

Цитата:

asm

{

x

y

z

}

а как

Цитата:

asm ("x; y; z");

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...