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

Success OpHex(long ea,int n)

Функция отображает операнд (операнды) в шестнадцатеричном виде, добавляя в его конце суффикс ‘h’.

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

seg000:0000 mov ax,65

a) исходные данные

OpHex(SegByName(“seg000”),1);

b) вызов функцию OpHex для преобразования второго слева операнда в шестнадцатеричный вид.

seg000:0000 mov ax, 41h

с) результат – второй слева операнд преобразован в шестнадцатеричный вид

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

аргумент

пояснения

ea

линейный адрес элемента, которому принадлежит операнд

n

=n

операнд

==0

первый слева операнд

==1

второй слева, третий (если он есть) и все остальные операнды

==‑1

все операнды

return

=return

пояснения

==1

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

==0

ошибка

Родственные функции: OpBinary, OpOctal, OpDeciminal,. OpChr, OpNumer

Интерактивный анлог: «~Edit\Operand types\Hexadeciminal»; <Q>

Success OpChr(long ea,int n)

Функция отображает операнд (операнды) в символьном виде, заключая его в кавычки. Если операнд содержит один или больше нечитабельных байт, функция возвратит ошибку. Перечень читабельных символов содержится в поле “AsciiStringChars” конфигурационного файла <ida.cfg>. По умолчанию содержимое поля “AsciiStringChars” для кодировки cp866 следующее:

"\r\n\a\v\b\t\x1B"

" !\"#$%&'()*+,-./0123456789:;<=>?"

"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"

"`abcdefghijklmnopqrstuvwxyz{|}~"

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

"абвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐"

"└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀"

"рстуфхцчшщъыьэюя";

Замечание: порядок следования старших и младший байт зависит от выбранного типа процессора. У микропроцессоров серии Intel 80x86 младший байт располагается по меньшему адресу, а старший, соответственно, наоборот.

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

1. Эксперимент

seg000:0000 mov ax,65

a) исходные данные

OpChr(SegByName(“seg000”),1);

b) вызов функцию OpChar для преобразования второго слева операнда в символьный вид.

seg000:0000 mov ax, ‘A’

с) результат – второй слева операнд преобразован в шестнадцатеричный вид

2. Эксперимент

seg000:0000 dq 4944412050726F21h

a) исходные данные

OpChr(SegByName(“seg000”),0);

b) вызов функции OpChr для преобразования первого слева операнда в символьный вид

seg000:0000 dq 'IDA Pro!'

с) результат – успешное преобразование

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

аргумент

пояснения

ea

линейный адрес элемента, которому принадлежит операнд

n

=n

операнд

==0

первый слева операнд

==1

второй слева, третий (если он есть) и все остальные операнды

==‑1

все операнды

return

=return

пояснения

==1

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

==0

ошибка

Родственные функции: OpBinary, OpOctal, OpDeciminal,. OpHex, OpNumer

Интерактивный анлог: «Edit\Operand types\Chaster»; <R>

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