Анимация
JavaScript
|
Главная Библионтека seg000:0013 seg000:0016 STRING seg000:0016 string terminated by "$" seg000:0018 seg000:001A QUIT WITH EXIT CODE (EXIT) seg000:001A start code seg000:001A seg000:001A seg000 seg000:001A dseg:000C ; -------------- dseg:000C dseg:000C ; Segment type: Pure data endp ends dx, 0Ch 21h ah, 4Ch ; DOS - PRINT ; DS:DX -> ; DOS - 2+ -; AL = exit dseg:000C dseg dseg:000C dseg:000C dseg:000C aHelloSailor dseg:000C dseg segment para public DATA use16 assume cs:dseg ;org 0Ch db Hello,Sailor!,0Dh,0Ah,$ ends В приведенном выше коде перемещаемый элемент был создан вызовом: SetFixup(0x10001, FIXUP SEG16, 0, 0x1001, 0);
void DelFixup(long ea); Функция удаляет перемещаемый элемент. Операнд Пояснения "ea I Линейный адрес АНАЛИЗ
Long AnalyseArea (long sEA,long eEA void AutoMark (long ea,long queuetype); void AutoMark2 (long start,long end,long queuetype) Дизассемблирует выбранный регион Управляет автоанализом Управляет автоанализов void DeleteAll (); Невероятно "полезная" функция, удаляющая всю информацию о дизассемблируемой программе - сегменты, метки, комментарии, словом все флаги и связанные с ними объекты. Как вариант частичного отката результата использования этой функции -немедленный аварийный выход из IDA без сохранения последних изменений. Пример использования: seg000:0000 seg000:0000 seg000:0000 seg000:0000 32EAh seg000:0000 seg000:0000 seg000:0000 seg000:0000 seg000:0000 seg000:0000 seg000:0000 seg000:0000 seg000:0000 fs:nothing, seg000:0000 seg000:0000; seg000:0000 seg000:0000 seg000:0000 seg000:0000 seg000:0001 seg000:0002 seg000:0003 seg000:0004 seg000:0004 seg000:0004 seg000:0007 seg000:000A Loaded length: ; File Name : F:\IDAF\IDA\test.exe ; Format : MS-DOS executable (EXE) ; Base Address: 1000h Range: 10000h-132EAh ; Entry Point : 1000:22C0 ; Segment type: Pure code seg000 segment byte public assume cs:seg000 assume es:nothing, gs:nothing S U B R O U T I N E CODE use16 ss:nothing, ds:nothing, MyFunct proc near MyLabel: push push push push mov mov int ; CODE XREF: sub 0 22DD+1Ep ; My Comment ax, 3D02h dx, 206h 21h DeleteAll ();
0:00010004 0:00010005 0:00010006 0:00010007 0:00010008 0:00010009 0:0001000A db 0B8h db db db 0BAh db db db 0CDh long AnalyseArea (long sEA,long eEA); Полный анализ выбранной области. Весь код будет дизассемблирован независимо от того, были обнаружены на него ссылки или нет. Сравните: seg000: seg000: seg000: seg000: seg000: seg000: seg000: seg000: seg000: seg000: seg000: seg000: seg000: 0100 start 0101 0102 0103 0104 0105 0106 0107 0108 0109 010A 010B 010B seg000 db 0BBh db db db 0FFh db 0E3h db 0B4h db 6 db 0B2h db 0CDh db 21h db 0C3h ends MakeCode(0x10100); seg000: seg000: seg000: seg000: seg000: seg000: seg000: seg000: seg000: seg000: seg000: seg000: 0100 start: 0100 0103 0103 ; -----0105 0106 0107 0108 0109 010A 010B 010B seg000 mov bx, 105h jmp bx db 0B4h db 6 db 0B2h db 0CDh db 21h db 0C3h ends AnalyseArea(0x10100,0x10B); seg000:0100 seg000:0100 seg000:0103 seg000:0105 seg000:0105 seg000:0107 seg000:0109 seg000:010B seg000:010B start: seg000 mov mov retn ends bx, 105h bx ah, 6 dl, 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 [ 100 ] 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |