Анимация
JavaScript
|
Главная Библионтека
long GetStrucQty(void); Функция возвращает количество структур, созданных вызовом AddStrucEx. Все они отображаются IDA в списке структур, который доступен из меню ~ View \ Structures. Структуры, обеспечивающие доступ к элементам стековых фреймов в это число не входят. Если не создано ни одной структуры, то функция возвращает ноль. Пример использования: 0000 0000 0001 0002 0002 0000 0000 0000 0000 0002 0002 0000 0000 0000 0000 0001 struc 1 field 0 field 1 struc 1 struc 2 field 0 struc 2 struc 3 field 0 struc 3 struc db ? db ? ends struc dw ? ends struc db ? ends Message("0x%X \n", GetStucQty()
long GetFirstStrucldx(void); Функция возвращает индекс первой структуры в списке. Если существует хотя бы одна структура, то функция всегда взращает ноль. Например: 0000 struc 1 0000 field 0 0001 field 1 0002 struc 1 0002 0000 ; 0000 0000 struc 2 0000 field 0 0002 struc 2 struc db ? db ? ends struc dw ? ends 0002 0000 ; 0000 0000 struc 3 0000 field 0 0001 struc 3 struc db ? ends Message("0x%X \n", GetFirstStrucIdx() Список автоматически перестраивается при операциях удаления или добавления структур, поэтому индексы не остаются постоянными. Использовать их для доступа к структуре не рекомендуется. Например, если удалить struc 1, а потом повторить вызов GetFirstStrucIdx, то она вновь вернет ноль, однако, теперь это индекс struc 2, а не srtuc 1. 0000 struc 2 0000 field 0 0002 struc 2 0002 0000 ; 0000 0000 struc 3 0000 field 0 0001 struc 3 struc dw ? ends struc db ? ends Message("0x%X \n", GetFirstStrucIdx()
long GetLastStrucIdx(void); Функция возвращает индекс последней структуры в списке. Он всегда равен GetStrucQtyO -1. В том случае если не определено не одной структуры, то функция возвратит ошибку BADADDR. 0000 struc 1 0000 field 0 0001 field 1 0002 struc 1 0002 0000 ; 0000 0000 struc 2 0000 field 0 struc db ? db ? ends struc dw ? 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 |