Функции для (Дис)Ассемблирования
variant dasmCmd(int type,int addr);
загрузка приложения в отладчик
-
addr:
-
Адрес инструкции
-
-
type:
-
Тип дизассемблирования:
D_SIZE
Получение размера инструкции
D_OPCODE
Получение опкода инструкции
D_TEXT
Получение текстового представления инструкции
D_ADDR
Получение адреса назначения прыжка
Возвращаемое значениеТип возвращаемого значения изменяется в зависимости от значения параметра type
D_SIZE
Функция возвращает размер инструкции(int) или 0 в случае ошибки
D_OPCODE
Функция возвращает массив байт (array of int) или 0 в случае ошибки
D_TEXT
Функция возвращает текстовое представление данной инструкции(string) или null в случае ошибки
D_ADDR
Функция возвращает адрес назначения прыжка (int) или 0 в случае ошибки
Примерprintf(r.eip,"command: %s", dasmCmd(D_TEXT,r.eip)); printf(r.eip,"commandLen: %d", dasmCmd(D_SIZE,r.eip));
-
int asmCmd(int addr,string instr); Ассемблирование инструкции по адресу
-
addr:
-
Адрес, по которому будет записана ассемблированная инструкция
-
-
instr:
-
Текст инструкции
-
Функция возвращает длину ассемблированной команды или 0 в случае ошибки.
asmCmd(r.eip,"nop");
array of int getReferences(int addr);
Получение ссылок на инструкцию, адрес которой указан в параметре addr
-
addr:
-
адрес инструкции
-
Функция возвращает массив ссылок(int), или null в случае неудачи
getReferences(r.eip);