Анимация
JavaScript
|
Главная Библионтека Это однобайтовое поле содержит флаг, управляющий автоанализом. То есть автоматическим анализом программы. Именно такой режим работы установлен по умолчанию. Отключать его следуют только в тех случаях, когда результат работы автоматического анализатора не устаивает или вызывает «подвисание» дизассемблера. Такое часто случается с файлами, полученными с помощью ProcDump и подобных утилит. Сделать это можно как интерактивно (~Options\ Background analysis\Analysis enabled), так и вызовом функции SetCharPrm(INF AUTO,0); INF BORDER Это однобайтовое поле хранит флаг, управляющий вставкой линий, разделяющих код и данные в дизассемблере. Значительно улучшает читабельность листинга, поэтому по умолчанию IDA ведет себя именно так. С другой стороны, дополнительные линии уменьшают число значащих строк, умещающихся на дисплее, а так же приводит к излишнему перерасходу бумаги при выводе дизассемблированного текста на принтер, поэтому в этих случаях эту опцию следует отключить вызовом функции SetCharPrm(INF BORDER,0) или интерактивно ~Options\ Text representation \ Display borders between data/code. INF BORDER == 1 INF BORDER == 0 SetCharPrm(INF BORDER,1); SetCharPrm(INF BORDER,0); .te>tt:0D4ID25B7 ; - .te>tt:0D4ID25BE .te>tt:0B4ID251ID .te>:t:0D4ID2EllD loc .text:0B4B251B .te>tt:0B4B251B .te>:t:0B4B2E12 ds:ott 0 4B2EEB[ecx«4] .text:BB4025B7 .text:BB4025BE .text:BB40251B .text:BB40251B lo .text:BB40251B .text:BB40251B .text:BB402512 .toxt:BB402519 .text:BB40251C INF NULL Это однобайтовое поле хранит флаг, управляющий генерацией пустых строк, вставляемых дизассемблером в различных местах для улучшения читабельности листинга. Однако в ряде случаев эту возможность следует отключать (например, при выводе текста на печать). Для этого следует воспользоваться вызовом SetCharPrm(INF NULL,0) или сбросить флажок ~Options\ Text representation \ Display empty lines
.text:004D2507 ; - text:004D250E .text:00402510 .text:00402510 loc 0 402510: .text:00402510 .text:00402510 align 4 .text:IDID4ID25D7 ; - text:IDID4ID25DE .text:IDID4ID2510 1ос Ш 4Ш2Б10: .text:IDID4ID2510 .text:IDID4ID2510 align 4 INF SHOWPREF Это однобайтовое поле хранит флаг, который управляет выводом префиксов в дизассемблируемом листинге. Префикс - это адрес текущего байта. Пример префикса: .text:004024AC pop edi По умолчанию этот флаг установлен, и каждая линия предваряется префиксом. Многоточечные структуры (например, массивы) в каждой строке содержат адрес своего первого элемента. Например: .text:004023C0 .text:004023C0 .text:004023C0 dword 0 4023C0 dd 68AD123h, 468A0788h,0C102468Ah dd 3C68302h, 8303C783h,0CC7208F9h dd 3498D00h При этом не зависимо от значения флага INF SHOWPREF префиксы в ассемблерный листинг (*.asm файл) не попадают. Если по какой-то причине генерацию префиксов необходимо отключить, то это можно сделать с помощью вызова функции SetCharPrm(INF SHOWPREF,0) или интерактивно ~ Options\ Text representation \ Line prefixes
INF PREFSEG Это однобайтовое поле содержит флаг, управляющий выводом имени сегмента в префиксе стоки. По умолчанию флаг установлен и вместо полного адреса выводится имя сегмента. Если же возникнет необходимость видеть полный адрес, то этот флаг можно сбросить. Сделать это можно либо интерактивно «~ Options \ Text representation \ Use segment names», либо вызовом функции SetCharPrm(INF PREFSEG,0) При этом листинг будет выглядеть, как показано ниже:
INF ASMTYPE Это однобайтовое поле хранит номер, начиная с нуля, задающий целевой ассемблер. Для PC всегда равно нулю, и указывает на «Generic for Intel 80x86» Пример: Message("%x \n",GetCharPrm(INF ASMTYPE)); INF BASEADDR Это длинное поле хранит базовый параграф программы Пример: Message("%x \n",GetLongPrm(INF BASEADDR)); 1000 INF XREFS Это однобайтовое поле управляет представлением перекрестных ссылок в дизассемблируемом листинге. Может быть представлено комбинацией следующего набора битовых флагов: SW SEGXRF (0x01) Установка этого флага приводит к тому, что IDA будет указывать полный адрес, включая сегмент, в перекрестных ссылках (по умолчанию). Интерактивно этим значением можно управлять «~ Options \ Cross-reference representation \ Display segments in xrefs»
SW XRFMRK (0x02) Установка этого флага приводит к тому, что IDA уточняет тип перекрестной ссылки,- представляет ли источник собой код или данные. Интерактивно этим значением можно управлять «~ Options \ Cross-reference representation \ Display xref type mark»
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 |