Используя великий и могучий 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. :)
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