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

Char GetFunctionCmt(long ea, long repeatable);

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

Подробнее о повторяемых комментариях можно прочитать в описании функции SetFunctionCmt

Например:

dseg:0271 ; Hello IDA 4.0

dseg:0271 ; Attributes: static

dseg:0271

dseg:0271 __checknull proc near

dseg:0271 retn

dseg:0271 __checknull endp

Message(“%s \n”,

GetFunctionCmt(0x010271,1)

);

Hello, IDA 4.0

Message(“%s \n”,

GetFunctionCmt(0x010271,0)

);

Обратите внимание, что необходимо правильно указывать тип комментария (повторяемый или нет) иначе функция вернет совсем не то, что от нее ожидается.

Операнд

Пояснения

Ea

Любой линейный адрес, принадлежащий функции

Repeatable

Флаг

Пояснения

0

Неповторяемый комментарий

1

Повторяемый комментарий

Return

Завершение

Пояснения

!=””

Комментарий

“”

Ошибка

Long ChooseFunction(char title);

Создает диалоговое окно содержащие список всех существующих функций с краткой сводной информацией о каждой из них.

Возвращает линейный адрес начала выбранной функции или BADADDR, если ни одна функция не была выбрана.

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

Message(“0x%X \n”,

ChooseFunction(“List”)

);

0x401020

Поле

Function Name

Имя функции

Segment

Сегмент, владеющий функцией

Start

Линейный адрес начала

Length

Длина функции в байтах

RFLSBMICDV

Атрибут

Определение

Пояснение

R

!FUNC_NORET

Функция, возвращающая управление

F

FUNC_FAR

FAR (Далекая) функция

L

FUNC_LIB

Библиотечная функция

S

FUNC_STATIC

Static – функция

B

FUNC_FRAME

BP используется как указатель на кадр стека

*

M

FUNC_MEMBER

member function

*

I

FUNC_VIRTUAL

Виртуальная функция

*

C

FUNC_CTR

Конструктор

*

D

FUNC_DTR

Деструктор

*

V

FUNC_VARARG

Функция с переменным числом аргументов

* Не поддерживается в текущих версиях. Зарезервировано для будущего использования.

Подробнее узнать об атрибутах функции можно в описании SetFunctionFlags.

Операнд

Пояснения

title

Заголовок дианового окна

Return

Завершение

Пояснения

!=BADADDR

Линейный адрес начала выбранной функции

BADADDR

Ошибка

По умолчанию подсвечивается функция, в границах которой находится курсор. В противном случае подсвечивается ближайшая функция, лежащая «выше» курсора (то есть в более младших адресах)

Для поиска подстроки в именах функции предусмотрена специальная клавишная комбинация <Atl-T> Регистр символов при этом будет игнорироваться. Для продолжения поиска необходимо нажать <Ctrl-T>.

В контекстной помощи сообщатся, что с помощью клавиш <ins> и <delete> можно соответственно добавлять или удалять функции. Но на самом деле в данном случае эти возможности недоступны.

<Enter> или двойной щелчок мышью выбирают функцию и возвращают управление, закрывая диалоговое окно.

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