Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ida.final.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
6 Mб
Скачать

Inf_asmtype

Это однобайтовое поле хранит номер, начиная с нуля, задающий целевой ассемблер. Для PC всегда равно нулю, и указывает на «Generic for Intel 80x86»

Пример:

Message(“%x \n”,GetCharPrm(INF_ASMTYPE));

0

Inf_baseaddr

Это длинное поле хранит базовый параграф программы

Пример:

Message(“%x \n”,GetLongPrm(INF_BASEADDR));

1000

Inf_xrefs

Это однобайтовое поле управляет представлением перекрестных ссылок в дизассемблируемом листинге. Может быть представлено комбинацией следующего набора битовых флагов:

SW_SEGXRF (0x01)

Установка этого флага приводит к тому, что IDA будет указывать полный адрес, включая сегмент, в перекрестных ссылках (по умолчанию).

Интерактивно этим значением можно управлять «~ Options \ Cross-reference representation \ Display segments in xrefs»

SW_SEGXRF == 1

SW_SEGXRF == 0

SetLongPrm(INF_XREF,SW_SEGXRF);

SetLongPrm(INF_XREF,!SW_SEGXRF)

DATA XREF: .rdata:004070C0o

DATA XREF: 004070C0o

SW_XRFMRK (0x02)

Установка этого флага приводит к тому, что IDA уточняет тип перекрестной ссылки,– представляет ли источник собой код или данные.

Интерактивно этим значением можно управлять «~ Options \ Cross-reference representation \ Display xref type mark»

SW_XRFMRK == 1

SW_XRFMRK == 0

SetLongPrm(INF_XREF,SW_XRFMRK);

SetLongPrm(INF_XREF,!SW_XRFMRK)

DATA XREF: .rdata:004070C0o

XREF: 004070C0o

SW_XRFFNC (0x04)

Установка этого флага приводит к тому, что IDA выражает адрес ссылки через смещение, относительно начла ближайшей функции.

Интерактивно этим значением можно управлять «~ Options \ Cross-reference representation \ Display function offsets»

SW_XRFFNC == 1

SW_XRFFNC == 0

SetLongPrm(INF_XREF,SW_XRFFNC);

SetLongPrm(INF_XREF,!SW_XRFFNC)

CODE XREF: start+AFp

CODE XREF: 004010CFp

SW_XRFVAL (0x08)

Установка этого флага приводит к тому, что IDA отображает значение перекрестной ссылки в дизассемблируемом листинге. В противном же случае его заменят три точки.

SW_XRFVAL == 1

SW_XRFVAL == 0

SetLongPrm(INF_XREF,SW_XRFVAL);

SetLongPrm(INF_XREF,!SW_XRFFVAL)

CODE XREF: 004010CFp

CODE XREF: ...

Inf_binpref

Это короткое поле задает число байт, отображающих шестнадцатеричный оп-код инструкции. По умолчанию равно нулю, то есть IDA дамп не отображает. Однако, в ряде случаев потребность в нем все же возникает, кроме того, для кого-то этот может быть вопрос удобства или привычки.

Тогда можно воспользоваться вызовом SetShortPrm(INF_BINPREF,0x10) или изменить то же самое значение интерактивно «~ Options \ Text representation \ Number of opcode bytes»

INF_BINPREF == 0

INF_BINPREF == 0x10

SetShortPrm(INF_BINPREF,0);

SetShortPrm(INF_BINPREF,0x10);

.text:00401000 sub_0_401000 proc near

.text:00401000 push offset aHeloSailor

.text:00401005 mov ecx, offset dword_0_408900

.text:0040100A call ??6ostream@@QAEAAV0@PBD@Z

.text:0040100F xor eax, eax

.text:00401011 retn

.text:00401011 sub_0_401000 endp

.text:00401000 sub_0_401000 proc near

.text:00401000 68 40 80 40 00 push offset aHeloSailor

.text:00401005 B9 00 89 40 00 mov ecx, offset dword_408900

.text:0040100A E8 72 2B 00 00 call ostream@@QAEAAV0@PBD@Z

.text:0040100F 33 C0 xor eax, eax

.text:00401011 C3 кetn

.text:00401011 sub_0_401000 endp

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]