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

Success MakeName(long ea,char name)

Функция создает метку, расположенную по линейному адресу ea, с именем name. Переданный линейный адрес должен быть либо адресом головы элемента любого вида, либо адресом бестипового байта; в противном случае функция возвратит ошибку. Имя метки должно состоять только из допустимых символов, перечень которых для каждой платформы содержится в поле “NameChars” конфигурационного файла <ida.cfg>.

платформа

перечень символов, допустимых в именах меток

PC

"$?@"9

“_0123456789"

"ABCDEFGHIJKLMNOPQRSTUVWXYZ"

"abcdefghijklmnopqrstuvwxyz";

Java

"$_@?!"10

"0123456789<>"

"ABCDEFGHIJKLMNOPQRSTUVWXYZ"

"abcdefghijklmnopqrstuvwxyz"

"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"11

"абвгдежзийклмнопрстуфхцчшщъыьэюя";

TMS320C6

"$_0123456789"

"ABCDEFGHIJKLMNOPQRSTUVWXYZ"

"abcdefghijklmnopqrstuvwxyz"

PowerPC

"_0123456789."

"ABCDEFGHIJKLMNOPQRSTUVWXYZ"

"abcdefghijklmnopqrstuvwxyz”

Таблица 17 перечень символов, допустимых в именах меток

Если по указанному адресу расположена уже существующая метка, в результате работы функции она будет переименована.

Удалить метку можно, переименовав ее, в пустую строку. Удаление возможно только в том случае, если во всем дизассемблируемом тексте на данную метку нет ни одной ссылки, в противном случае IDA Pro тут же создаст новое автогенерирумое (dummy) имя.

Замечание: MakeName” помимо переименования меток, так же изменяет имена функций, если ей передать адрес начала функции (см. главу «Функции»)

Пример использования:

seg000:0000 mov ah, 9

a) исходные данные – требуется создать метку с именем “NoName” по адресу seg000:000

MakeName(SegByName(“seg000”),”NoName”);

b) вызов функции MakeName для создания метки

seg000:0000 NoName mov ah, 9

c) результат – метка успешно создана

??? #Верстальщику – change table

аргумент

пояснения

ea

линейный адрес головы элемента любового вида или бестипового байта

name

имя метки

return

=return

пояснения

==1

успешное завершение операции

==0

ошибка

Родственные функции: GetTrueName

Интерактивный аналог: “~Edit\Name” <N>

Success MakeComm(long ea,char comment)

Функция создает комментарий comment, размещая его справа от элемента, расположенного по линейному адресу ea. Переданный линейный адрес должен быть либо адресом головы элемента любого вида, либо адресом бестипового байта; в противном случае функция возвратит ошибку.

Комментарий автоматически отделяется от элемента символом «точка с запятой» и в самой строке комментария его указывать не нужно. Величина отступа задается настойками IDA (см. главу «Глобальные настойки»).

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

Удалить комментарий можно задав в качестве нового пустую строку. Удаляются в том числе, и некоторые комментарии, автоматически создаваемые IDA.

Функция поддерживает спецификатор переноса строки '\n', автоматически создавая новую строку и перенося на нее хвост комментария.

Пример использования:

seg000:0000 mov ah, 9

a) исходные данные – требуется вставить комментарий

MakeComm(0x1275C,"Функция 0x9 – печать строки");

b) вызов функции MakeComm для вставки комментария

seg000:0000 mov ah, 9 ; Функция 0x9 – печать строки

c) результат – вставленный комментарий

??? #Верстальщику – change table

аргумент

пояснения

ea

линейный адрес головы элемента любого вида или бестипового байта

comment

строка комментария

return

=return

пояснения

==1

успешное завершение операции

=0

ошибка

Родственные функции: MakeRptCmt, ExrLinA, ExtLinB

Интерактивный аналог: “~Edit\Comments\Enter comment”; <:>

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