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

Long CreateArray(char name);

Функция создает новый разряженный массив, в котором можно будет хранить данные обоих типов – как строковые, так и длинные целые.

Массив сохраняется в базе IDA как элемент Btree до тех пор, пока не будет принудительно удален из нее. Никаких ограничений на размер массива не налагается.

Каждый массив должен иметь свое уникальное имя (два массива с одинаковыми именами существовать не могут). Массивы имеют собственное пространство имен (то есть можно создать метку или сегмент совпадающую с именем уже существующего массива и наоборот)

На имена наложены следующие ограничения – длина до 120 символов, может начинаться с цифры, но не должен содержать пробелов.

При успешном завершении функция возвращает идентификатор массива, в противном случае (массив с таким именем уже существует?) BADADDR.

Пример:

Message("0x%X \n",

CreateArray("MyArray")

);

0xFF000041

Операнд

Пояснения

name

Имя массива

Return

==return

Пояснения

!=BADADDR

Идентификатор массива

==0

Ошибка

Long GetArrayId(char name);

Функция возвращает идентификатор массива по его имени. Это позволяет не сохранять идентификаторы массивов, полученные при их создании, а обращаться к массивам по имени.

Например:

Message("0x%X \n",

CreateArray("MyArray")

);

Message(“0x%X \n”

GetArrayId(“MyArray”)

);

DeleteArray(

GetArrayId(“MyArray”)

);

Message(“0x%X \n”

GetArrayId(“MyArray”)

);

0xFF000041

0xFF000041

0xFFFFFFFF

Операнд

Пояснения

name

Имя массива

Return

==return

Пояснения

!=BADADDR

Идентификатор массива

==0

Ошибка

Success RenameArray(long id,char newname);

Функция позволяет изменить имя массива, заданного идентификатором. Обычно используется редко.

Например:

Message("0x%X \n",

CreateArray("MyArray")

);

0xFF000041

RemaneArray(

GetArrayId(“MyArray”),

MyNewname”

);

Message(“0x%X \n”

GetArrayId(“MyNewName”)

);

0xFF000041

Операнд

Пояснения

id

Идентификатор массива

Newname

Новое имя массива

Return

==return

Пояснения

==1

Успешное завершение

==0

Ошибка

Void DeleteArray(long id);

Функция удаляет массив, заданный идентификатором. Необходимо помнить, что массивы, как элемент Btree хранятся в базе IDA то того момента, пока не будут удалены.

Это можно сделать, например, следующим образом:

DeleteArray(

GetArrayId(“MyArray”)

);

Операнд

Пояснения

id

Идентификатор массива

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