handler Опубликовано 13 октября, 2005 Жалоба Поделиться Опубликовано 13 октября, 2005 Здравствуйте! FedoraCore4... Подскажите, пожалуйста, какими программами можно дизассемблировать исполнимый файл и какие HEX-редакторы используются на UNIX? Если не сложно, подскажите правила написания кода режима ядра. Например: asm { sgdt mem movl mem , %eax movl [%eax] , var } т.е получаем содержимое GDT и пытаемся прочитать содержимое ячейки памяти по полученному адресу. Переменные описаны как глобальные, так что ошибки сегментации быть не может. Последняя строка вызывает ошибку сегментации, как и команда: (gdb) m 0xA00000FF Насколько я понимаю, мы пытаемся получить доступ к ядру, но делаем это несанкционированно. В таком случае, первая команда тоже должна была вызвать исключение, т.к ее выполнение допускается при нулевых двух младших битах CS? И еще был бы рад описанию синтаксиса команд ассемблера, т. к. я изучал TASM, а UNIX его не понимает... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Ineu Опубликовано 13 октября, 2005 Жалоба Поделиться Опубликовано 13 октября, 2005 NASM. Синтаксис Интеловский, только поприличнее, чем в ТАСМе . В поставке идет и дизассемблер. Еще почитайте info binutils. ЗЫ: Насколько я помню, асмовставки реализуются не как Цитата: asm { x y z } а как Цитата: asm ("x; y; z"); Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.