Анимация
JavaScript
|
Главная Библионтека INF START SS Это длинное поле хранит значение регистра SS при запуске программы. Для того, что бы его получить IDA прибегает к эмуляции загрузки и действует в соответствии с исследуемым типом файла и декларированным правилам загрузки его операционной системой. Однако, это не гарантирует, что полученное значение будет тождественно действительному. Впрочем, такая точность на практике и не трубятся. В крайнем случае можно принудительно указать требуемый базовый адрес загрузки или изменить непосредственно само значение INF START SS. Пример: Message("0x%x \n",GetLongPrm(INF START SS)); 0x1000 SetLongPrm(INF START SS,0); Message("0x%x \n",GetLongPrm(INF START SS)); INF START CS Это длинное поле хранит значение регистра CS при запуске программы. Для того, что бы его получить IDA прибегает к эмуляции загрузки и действует в соответствии с исследуемым типом файла и декларированным правилам загрузки его операционной системой. Пример: Message("0x%x \n",GetLongPrm(INF START CS)); 0x1000 INF MAIN В файле определений IDC.IDC сообщается, что это длинное поле содержит адрес процедуры main(), однако, при попытке его чтения всегда возвращается ошибка BADADDR. Например: Message("0x%X \n",GetLongPem(INF MAIN)); 0xFFFFFFFF INF SHORT DN Это длинное поле хранит короткую форму вывода «замангленных» имен. Назначение отдельных битов не описано в файле idc.idc, в котором содержится ссылка на demangle.hpp, входящий в состав IDA SDK.
Подробнее об этом можно найти в описании функции Demangle. INF LONG DN Это длинное поле хранит полный формат вывода «замангленных» имен. Представляет собой комбинацию флагов, назначение которых описано выше. INF DATATYPES Это длинное поле хранит разрешенные к использованию типы данных, то есть такие, что будут поочередно перебираться, скажем, при нажатии D. Файл IDC.IDC не содержит расшифровки отдельных битов этого поля, но в интерактивно диалоге настойки (~Options \ Setup date types ) типы данных перечислены в порядке следования флагов в этом поле!
0x40 iTbyte 0x80 Упакованное real Пример использования: Message("%b \n", GetLongPrm(INF DATATYPES)); INF STRTYPE Это длинное поле хранит текущий стиль ASCII - строк. Первый байт представляет собой один из следующих флагов.
Если первый байт не равен нулю, то, значит, впереди строки находится поле, определяющие его длину. Иначе используется символ конца строки. Его определяют второй и третий байт поля INF STRTYPE. Если второй символ будет равен \0, то он будет проигнорирован. Поэтому если необходимо задать два типа завершающих символов (например, ноль и $), то \0 следует указывать первым из них. Пример: Message( %x \n",GetLongPrm(INF STRTTYPE)); SetLongPrm(INF STRTTYPE,$»0x10); INF AF2 Это длинное беззнаковое поле хранит дополнительные флаги анализатора.
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 |