Автор: Unknown BIOS (не проверено) , 27 апреля 2007
Используя великий и могучий IDAPro5. + скрипты :)

Начну эту тему (кстати по просьбе уважаемого Романа), для всех тех кому интересно раскопать, как работает БИОС.

Дано: человек имеет опыт обращения c IDA Pro.

Решение №1: Award Bios script by
Alexey Kulentsov (http://old.idapalace.net/idc/award450.rar)

!!! не путать с award450.idc входящим в состав idapro5!!! который более старый - 1996 г.вып.

Решение №2 (pre-alpha, моё): http://rapidshare.com/files/28170560/ami.idc.html

Комментарии, советы и предложения в студию.

PS скрипты разрабатывались под 64K BIOS. :)
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

diamondz (не проверено)

16 лет 6 месяцев назад

Для обработки конструкций типа mov bx, offset next / jmp proc / next: есть решение лучше скриптов. Чтобы листинг не засорялся лишними метками, переходами и разрывами связи, можно загнать эти конструкции в макросы. Чтобы это стало возможным в дизассемблированном листинге IDA, есть вариант написания процессорного модуля-надстройки над стандартным x86, дизассемблирующим такие конструкции как псевдоинструкции-макросы. Пример:
or ah, 0A0h mov bx, offset loc_FCCAB jmp loc_FE913 ; --------------------------------------------------------------------------- loc_FCCAB: ; CODE XREF: seg000:CCB7j ; DATA XREF: seg000:CCA5o mov ax, 29h ; ')' mov bx, offset loc_FCCB4 jmp loc_FE907 ; --------------------------------------------------------------------------- loc_FCCB4: ; DATA XREF: seg000:CCAEo test ah, 10h jz short loc_FCCAB mov ax, 707h mov bx, offset loc_FCCC2 jmp loc_FE913 ; --------------------------------------------------------------------------- loc_FCCC2: ; DATA XREF: seg000:CCBCo
дизассемблируется как
or ah, 0A0h ROMCallBX sub_FE913 loc_FCCAB: ; CODE XREF: seg000:CCB7j mov ax, 29h ; ')' ROMCallBX sub_FE907 test ah, 10h jz short loc_FCCAB mov ax, 707h ROMCallBX sub_FE913
Мне последний вариант представляется более читабельным, поэтому я такой модуль написал. Выложил тут: http://diamond.kolibrios.org/ida/romcall.htm