Анимация
JavaScript
|
Главная Библионтека
Пример: seg000:032D seg000:0332 Message("0x%X \n", GetFixupTgtType( GetNextFixupEA(0) cmp word ptr [bp+8], seg segOOO jnz loc 0 33A
long GetFixupTgtSel(long ea); Функция возвращает селектор перемещаемого элемента, заданного линейным адресом. Пример использования: C0000000 ; Segment type: Pure code C0000000 LCOD segment para public CODE use32 C0000000 assume cs:LCOD C0000000 ;org 0C0000000h C0000000 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing C0000000 Service Table 0 dd offset unkserv 0 ; DATA XREF: LCOD:C0000040n Message("0x%X, 0x%X \n", GetNextFixupEA(0), GetFixupTgtSel(GetNextFixupEA(0) 0xC0000000, 0x2
long GetFixupTgtOff(long ea); Функция возвращает смещение перемещаемого элемента, заданного линейным адресом. Пример использования: C0000000 ; Segment type: Pure code C0000000 LCOD segment para public CODE use32 C0000000 assume cs:LCOD C0000000 ;org 0C0000000h C0000000 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing C0000000 Service Table 0 dd offset unkserv 0 ; DATA XREF: LCOD:C0000040n Message("0x%X, 0x%X \n", GetNextFixupEA(0), GetFixupTgtOff(GetNextFixupEA(0) 0xC0000000, 0xC0003514
long GetFixupTgtDispl(long ea); Функция возвращает displacement перемещаемого элемента, заданного линейным адресом. В настоящее время на платформе Intel практически не используется и подробнее описана в факультативном приложении к книге «Использование IDA на не-Intel платформах»
void SetFixup(long ea,long type,long targetsel,long targetoff,long displ); Функция позволяет управлять перемещаемым элементом. Практически никогда не используется, так как IDA сама разбирается в большинстве существующих форматов файлов и правильно задает значение перемещаемых элементов. Однако, может быть полена при написании своего загрузчика файла. Тогда необходимо для каждого перемещаемого элемента вызвать эту функцию, указав его линейный адрес. Обратите внимание, не адрес начала манипулирующей с ним инструкции. Тип перемещаемого элемента может принимать одно из следующих значений:
Следующие два аргумента задают селектор (сегмент) и смещение объекта, на который ссылается перемещаемый элемент. Например: seg000:0000 start seg000:0000 seg000:0003 seg000:0005 seg000:0005 seg000:0007 seg000:000A STRING seg000:000A string terminated by "$" seg000:000C seg000:000F seg000:0011 proc near mov ax, seg dseg mov ds, ax assume ds:dseg mov ah, 9 mov dx, 0Ch int 21h mov ax, seg dseg mov ds, ax mov ah, 9 ; DOS - PRINT ; DS:DX -> 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 |