Анимация
JavaScript
|
Главная Библионтека w32 I Процессорный модуль для Windows 95\Windows NT версий дизассемблера Четвертая версия IDA в полной поставке, включает в себя следующие файлы:
Сравнивая эту таблицу с приведенным выше перечнем поддерживаемых IDA процессоров, можно заметить, что часть из них в поставку не входит. С другой стороны, если вам не нужно дизассемблировать ничего, кроме программ для IBM PC, то все остальные модули можно удалить, освободив немного дискового пространства. Если в заголовке загружаемого файла отсутствует информация о типе процессора, то IDA выбирает его, руководствуясь расширением. Соответствия расширений и типов микропроцессора перечислены в фале IDA.CFG в секции DEFAULT PROCESSOR:
long Batch (long batch); Функция позволяет устанавливать (или снимать) пакетный режим работы. При этом IDA не выводит никаких диалоговых окон и не выдает предупреждений. Это может быть полезным при автономной работе и во время выполнения скриптов. В версии IDA 4.0 присутствуют некоторые ошибки в реализации пакетного режима. Так, например, попытка вызова калькулятора вызовет зависание IDA, поэтому пользоваться им следует с осторожностью и всегда обращать внимание, что бы скрипты, использующие его, возвращались в обычный режим при возрате в IDA. ==batch Режим Обычный режим Пакетный режим Функция возвращает прежний режим работы. Следующий скрипт определяет его текущее значение без изменений режима работы. auto a,s; s="нормальный"; a=Batch(0); Batch(a); if (a) s="пакетый"; Message("Режимм работы %s \n",s); Режимм работы нормальный char GetldaDirectory (); Функция возвращает полный путь к директории, в которой расположена IDA, без завершающего слеша в конце. Например: Message ("%s \n", GetIdaDirectory ()); D:\DEBUG\IDA3 8 4 Return Пояснения полный путь к директории, в которой расположена IDA Точнее это путь к исполняемому файлу IDA.EXE (idaw.exe\ idax.exe). Расположение остальных файлов зависит от версии. Так, например, IDA 3.6 хранила все скрипты в базовом каталоге, а последние версии в каталоге IDC. Эти различия необходимо учитывать при поиске требуемых файлов. Желательно предусмотреть возможность диалога с пользователем и «ручным» указанием путей, а не полагаться на то, что требуемый файл окажется на месте. char GetlnputFile (); Возвращает имя дизассемблируемого файла вместе с расширением. Версия под win32 поддерживает длинные имена файлов, включая пробелы. Дозагрузка фалов не влияет на результат работы этой функции. Пример использования: Message ("%s \n ", GetlnputFile () My File.exe Return Пояснения Имя дизассемблируемого файла вместе с расширением СТРОКИ К сожалению, встроенный язык IDA не поддерживает даже основных конструкций Си для работы со стоками. Так, например, невозможно получить посимвольный доступ к стоке или указатель на нее же. Зато IDA поддерживает инициализацию и контекцию, (слияние) строк, что демонстрирует следующий пример: auto a,b; a="Hello"; b="IDA! \n"; a=a+","+b; Message("%s \n",a); Hello,IDA! Таким образом, строки в IDA представляют собой закрытые объекты, доступные лишь посредством набора, манипулирующих с ними функций. Их всего три. Это определение длины строки (strlen), взятие подстроки (substr) и поиск подстроки (srtsrt). Возможность модификации строки отсутствует, и в том случае, когда возникает потребность изменить хотя бы один символ, приходится перестраивать всю строку целиком. Для этого может пригодиться две следующие функции, которые рекомендуется включить в idc.idc, что бы сделать их доступными для всех пользовательских скриптов. static setstr(str, pos, ch) { auto s0; 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 |