|
add_byte(ea,
value)
Add a value to one byte of the program. |
|
|
|
add_dword(ea,
value)
Add a value to one dword of the program. |
|
|
bool
|
add_hidden_range(ea1,
ea2,
description,
header,
footer,
color)
Mark a range of addresses as hidden. |
|
|
bool
|
add_mapping(_from,
to,
size)
IDA supports memory mapping. |
|
|
|
add_qword(ea,
value)
Add a value to one qword of the program. |
|
|
|
add_word(ea,
value)
Add a value to one word of the program. |
|
|
flags_t
|
align_flag()
Get a flags_t representing an alignment directive. |
|
|
bool
|
append_cmt(ea,
str,
rptble)
Append to an indented comment. |
|
|
bool
|
|
flags_t
|
bin_flag()
Get number flag of the base, regardless of current processor - better
to use 'num_flag()' |
|
|
ea_t
|
bin_search(start_ea,
end_ea,
image,
imask,
step,
flags) |
|
|
flags_t
|
byte_flag()
Get a flags_t representing a byte. |
|
|
int
|
bytesize(ea)
Get number of bytes required to store a byte at the given address. |
|
|
int
|
|
flags_t
|
|
int
|
|
ea_t
|
calc_max_item_end(ea,
how=15)
Calculate maximal reasonable end address of a new item. |
|
|
int
|
|
bool
|
can_define_item(ea,
length,
flags)
Can define item (instruction/data) of the specified 'length', starting
at 'ea'?if there is an item starting at 'ea', this function ignores
itthis function converts to unexplored all encountered data items with
fixup information. |
|
|
error_t
|
|
flags_t
|
char_flag()
see 'Bits: instruction operand types' |
|
|
asize_t
|
chunk_size(ea)
Get size of the contiguous address block containing 'ea'. |
|
|
ea_t
|
chunk_start(ea)
Get start of the contiguous address block containing 'ea'. |
|
|
bool
|
|
bool
|
clr_op_type(ea,
n)
Remove operand representation information. |
|
|
flags_t
|
|
bool
|
create_16bit_data(ea,
length)
Convert to 16-bit quantity (take byte size into account) |
|
|
bool
|
create_32bit_data(ea,
length)
Convert to 32-bit quantity (take byte size into account) |
|
|
bool
|
|
bool
|
|
bool
|
create_custdata(ea,
length,
dtid,
fid,
force=False)
Convert to custom data type. |
|
|
bool
|
create_data(ea,
dataflag,
size,
tid)
Convert to data (byte, word, dword, etc). |
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
create_oword(ea,
length,
force=False)
Convert to octaword/xmm word. |
|
|
bool
|
|
bool
|
|
bool
|
create_strlit(start,
len,
strtype)
Convert to string literal and give a meaningful name. |
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
|
flags_t
|
cust_flag()
Get a flags_t representing custom type data. |
|
|
flags_t
|
custfmt_flag()
see 'Bits: instruction operand types' |
|
|
flags_t
|
dec_flag()
Get number flag of the base, regardless of current processor - better
to use 'num_flag()' |
|
|
bool
|
|
bool
|
del_items(ea,
flags=0,
nbytes=1,
may_destroy=None)
Convert item (instruction/data) to unexplored bytes. |
|
|
|
|
|
|
bool
|
|
error_t
|
disable_flags(start_ea,
end_ea)
Deallocate flags for address range. |
|
|
flags_t
|
double_flag()
Get a flags_t representing a double. |
|
|
flags_t
|
dword_flag()
Get a flags_t representing a double word. |
|
|
error_t
|
enable_flags(start_ea,
end_ea,
stt)
Allocate flags for address range. |
|
|
flags_t
|
enum_flag()
see 'Bits: instruction operand types' |
|
|
bool
|
equal_bytes(ea,
image,
mask,
len,
sense_case)
Compare 'len' bytes of the program starting from 'ea' with 'image'. |
|
|
bool
|
|
bool
|
f_has_dummy_name(f,
arg2)
Does the current byte have dummy (auto-generated, with special
prefix) name? |
|
|
bool
|
f_has_extra_cmts(f,
arg2) |
|
|
bool
|
f_has_name(f,
arg2)
Does the current byte have non-trivial (non-dummy) name? |
|
|
bool
|
|
bool
|
f_has_xref(f,
arg2)
Does the current byte have cross-references to it? |
|
|
bool
|
|
bool
|
|
bool
|
f_is_code(F,
arg2)
Does flag denote start of an instruction? |
|
|
bool
|
|
bool
|
f_is_data(F,
arg2)
Does flag denote start of data? |
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
f_is_head(F,
arg2)
Does flag denote start of instruction OR data? |
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
f_is_tail(F,
arg2)
Does flag denote tail byte? |
|
|
bool
|
|
bool
|
|
bool
|
|
ea_t
|
find_byte(sEA,
size,
value,
bin_search_flags)
Find forward a byte with the specified value (only 8-bit value from
the database). |
|
|
ea_t
|
find_byter(sEA,
size,
value,
bin_search_flags)
Find reverse a byte with the specified value (only 8-bit value from
the database). |
|
|
int
|
|
int
|
|
flags_t
|
float_flag()
Get a flags_t representing a float. |
|
|
flags_t
|
flt_flag()
see 'Bits: instruction operand types' |
|
|
ea_t
|
free_chunk(bottom,
size,
step)
Search for a hole in the addressing space of the program. |
|
|
uint32
|
get_16bit(ea)
Get 16bits of the program at 'ea'. |
|
|
uint32
|
get_32bit(ea)
Get not more than 32bits of the program at 'ea'. |
|
|
uint64
|
get_64bit(ea)
Get not more than 64bits of the program at 'ea'. |
|
|
PyObject *
|
|
uchar
|
get_byte(ea)
Get one byte (8-bit) of the program at 'ea'. |
|
|
PyObject *
|
get_bytes(ea,
size,
gmb_flags=0x01)
Get the specified number of bytes of the program. |
|
|
PyObject *
|
get_bytes_and_mask(ea,
size,
gmb_flags=0x01)
Get the specified number of bytes of the program, and a bitmask
specifying what bytes are defined and what bytes are not. |
|
|
str
|
get_cmt(ea,
rptble)
Get an indented comment. |
|
|
data_format_t
|
|
int
|
|
data_type_t
|
|
int
|
|
asize_t
|
get_data_elsize(ea,
F,
ti=None)
Get size of data type specified in flags 'F'. |
|
|
bool
|
|
uchar
|
get_db_byte(ea)
Get one byte (8-bit) of the program at 'ea' from the database. |
|
|
int
|
|
uint32
|
get_dword(ea)
Get one dword (32-bit) of the program at 'ea'. |
|
|
enum_t
|
|
hidden_range_t
|
|
flags_t
|
get_flags(ea)
get flags with 'FF_IVL' & 'MS_VAL' . |
|
|
flags_t
|
|
flags_t
|
get_flags_ex(ea,
how)
Get flags for the specified address, extended form. |
|
|
str
|
|
asize_t
|
|
flags_t
|
|
hidden_range_t
|
|
int
|
|
int
|
get_hidden_range_qty()
Get number of hidden ranges. |
|
|
ea_t
|
|
flags_t
|
get_item_flag(_from,
n,
ea,
appzero)
Get flag of the item at 'ea' even if it is a tail byte of some array
or structure. |
|
|
ea_t
|
|
asize_t
|
|
hidden_range_t
|
|
str
|
get_manual_insn(ea)
Retrieve the user-specified string for the manual instruction. |
|
|
bool
|
|
size_t
|
get_mappings_qty()
Get number of mappings. |
|
|
size_t
|
|
hidden_range_t
|
|
PyObject *
|
get_octet(ea,
v,
nbit)
Get 8 bits of the program at 'ea'. |
|
|
opinfo_t
|
get_opinfo(buf,
ea,
n,
flags)
Get additional information about an operand representation. |
|
|
flags_t
|
|
flags_t
|
|
uint64
|
|
uint64
|
get_original_dword(ea)
Get original dword (that was before patching) This function works for
wide byte processors too. |
|
|
uint64
|
get_original_qword(ea)
Get original qword value (that was before patching) This function
DOESN'T work for wide byte processors too. |
|
|
uint64
|
|
str
|
|
hidden_range_t
|
|
uint64
|
get_qword(ea)
Get one qword (64-bit) of the program at 'ea'. |
|
|
int
|
get_radix(F,
n)
Get radix of the operand, in: flags. |
|
|
PyObject *
|
get_strlit_contents(ea,
py_len,
type,
flags=0)
Get bytes contents at location, possibly converted. |
|
|
int
|
|
uint64
|
|
uint64
|
get_wide_dword(ea)
Get two wide words (4 'bytes') of the program at 'ea'. |
|
|
uint64
|
get_wide_word(ea)
Get one wide word (2 'byte') of the program at 'ea'. |
|
|
ushort
|
get_word(ea)
Get one word (16-bit) of the program at 'ea'. |
|
|
bool
|
get_zero_ranges(zranges,
range)
Return set of ranges with zero initialized bytes. |
|
|
hidden_range_t
|
getn_hidden_range(n)
Get pointer to hidden range structure, in: number of hidden range. |
|
|
bool
|
|
bool
|
has_auto_name(F)
Does the current byte have auto-generated (no special prefix) name? |
|
|
bool
|
has_cmt(F)
Does the current byte have an indented comment? |
|
|
bool
|
has_dummy_name(F)
Does the current byte have dummy (auto-generated, with special
prefix) name? |
|
|
bool
|
has_extra_cmts(F)
Does the current byte have additional anterior or posterior lines? |
|
|
bool
|
|
bool
|
has_name(F)
Does the current byte have non-trivial (non-dummy) name? |
|
|
bool
|
|
bool
|
|
bool
|
has_xref(F)
Does the current byte have cross-references to it? |
|
|
flags_t
|
hex_flag()
Get number flag of the base, regardless of current processor - better
to use 'num_flag()' |
|
|
bool
|
|
bool
|
is_attached_custom_data_format(dtid,
dfid) |
|
|
bool
|
is_bnot(ea,
F,
n)
Should we negate the operand?. |
|
|
bool
|
|
bool
|
is_char(F,
n)
is character constant? |
|
|
bool
|
is_char0(F)
Is the first operand character constant? (example: push 'a') |
|
|
bool
|
is_char1(F)
Is the second operand character constant? (example: mov al, 'a') |
|
|
bool
|
is_code(F)
Does flag denote start of an instruction? |
|
|
bool
|
|
bool
|
is_custfmt0(F)
Does the first operand use a custom data representation? |
|
|
bool
|
is_custfmt1(F)
Does the second operand use a custom data representation? |
|
|
bool
|
|
bool
|
is_data(F)
Does flag denote start of data? |
|
|
bool
|
|
bool
|
is_defarg0(F)
Is the first operand defined? Initially operand has no defined
representation. |
|
|
bool
|
is_defarg1(F)
Is the second operand defined? Initially operand has no defined
representation. |
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
is_enum0(F)
Is the first operand a symbolic constant (enum member)? |
|
|
bool
|
is_enum1(F)
Is the second operand a symbolic constant (enum member)? |
|
|
bool
|
|
bool
|
is_float0(F)
Is the first operand a floating point number? |
|
|
bool
|
is_float1(F)
Is the second operand a floating point number? |
|
|
bool
|
is_flow(F)
Does the previous instruction exist and pass execution flow to the
current byte? |
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
is_head(F)
Does flag denote start of instruction OR data? |
|
|
bool
|
is_invsign(ea,
F,
n)
Should sign of n-th operand inverted during output?. |
|
|
bool
|
is_loaded(ea)
Does the specified address have a byte value (is initialized?) |
|
|
bool
|
is_lzero(ea,
n)
Display leading zeroes in operands. |
|
|
bool
|
is_manual(F,
n)
is forced operand? (use 'is_forced_operand()' ) |
|
|
bool
|
|
bool
|
is_mapped(ea)
Is the specified address 'ea' present in the program? |
|
|
bool
|
|
bool
|
is_numop(F,
n)
is number (bin, oct, dec, hex)? |
|
|
bool
|
is_numop0(F)
Is the first operand a number (i.e. |
|
|
bool
|
is_numop1(F)
Is the second operand a number (i.e. |
|
|
bool
|
|
bool
|
is_off0(F)
Is the first operand offset? (example: push offset xxx) |
|
|
bool
|
is_off1(F)
Is the second operand offset? (example: mov ax, offset xxx) |
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
is_seg0(F)
Is the first operand segment selector? (example: push seg seg001) |
|
|
bool
|
is_seg1(F)
Is the second operand segment selector? (example: mov dx, seg dseg) |
|
|
bool
|
|
bool
|
is_stkvar0(F)
Is the first operand a stack variable? |
|
|
bool
|
is_stkvar1(F)
Is the second operand a stack variable? |
|
|
bool
|
|
bool
|
|
bool
|
is_stroff0(F)
Is the first operand an offset within a struct? |
|
|
bool
|
is_stroff1(F)
Is the second operand an offset within a struct? |
|
|
bool
|
|
bool
|
|
bool
|
is_tail(F)
Does flag denote tail byte? |
|
|
bool
|
|
bool
|
|
int
|
is_varsize_item(ea,
F,
ti=None,
itemsize=None)
Is the item at 'ea' variable size?. |
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
|
int
|
nbits(ea)
Get number of bits in a byte at the given address. |
|
|
ea_t
|
next_addr(ea)
Get next address in the program (i.e. |
|
|
ea_t
|
next_chunk(ea)
Get the first address of next contiguous chunk in the program. |
|
|
ea_t
|
next_head(ea,
maxea)
Get start of next defined item. |
|
|
ea_t
|
next_inited(ea,
maxea)
Find the next initialized address. |
|
|
ea_t
|
|
ea_t
|
next_that(ea,
maxea,
callable)
Find next address with a flag satisfying the function 'testf'. |
|
|
ea_t
|
next_unknown(ea,
maxea)
Similar to 'next_that()' , but will find the next address that is
unexplored. |
|
|
flags_t
|
num_flag()
Get number of default base (bin, oct, dec, hex) |
|
|
flags_t
|
oct_flag()
Get number flag of the base, regardless of current processor - better
to use 'num_flag()' |
|
|
flags_t
|
off_flag()
see 'Bits: instruction operand types' |
|
|
bool
|
op_adds_xrefs(F,
n)
Should processor module create xrefs from the operand?. |
|
|
bool
|
op_bin(ea,
n)
set op type to 'bin_flag()' |
|
|
bool
|
op_chr(ea,
n)
set op type to 'char_flag()' |
|
|
bool
|
op_custfmt(ea,
n,
fid)
Set custom data format for operand (fid-custom data format id) |
|
|
bool
|
op_dec(ea,
n)
set op type to 'dec_flag()' |
|
|
bool
|
op_enum(ea,
n,
id,
serial)
Set operand representation to be 'enum_t'. |
|
|
bool
|
op_flt(ea,
n)
set op type to 'flt_flag()' |
|
|
bool
|
op_hex(ea,
n)
set op type to 'hex_flag()' |
|
|
bool
|
op_num(ea,
n)
set op type to 'num_flag()' |
|
|
bool
|
op_oct(ea,
n)
set op type to 'oct_flag()' |
|
|
bool
|
op_seg(ea,
n)
Set operand representation to be 'segment'. |
|
|
bool
|
op_stkvar(ea,
n)
Set operand representation to be 'stack variable'. |
|
|
bool
|
op_stroff(insn,
n,
path,
path_len,
delta)
Set operand representation to be 'struct offset'. |
|
|
flags_t
|
oword_flag()
Get a flags_t representing a octaword. |
|
|
flags_t
|
packreal_flag()
Get a flags_t representing a packed decimal real. |
|
|
bool
|
|
|
patch_bytes(ea,
buf)
Patch the specified number of bytes of the program. |
|
|
bool
|
|
bool
|
|
bool
|
|
ea_t
|
prev_addr(ea)
Get previous address in the program. |
|
|
ea_t
|
prev_chunk(ea)
Get the last address of previous contiguous chunk in the program. |
|
|
ea_t
|
prev_head(ea,
minea)
Get start of previous defined item. |
|
|
ea_t
|
prev_inited(ea,
minea)
Find the previous initialized address. |
|
|
ea_t
|
|
ea_t
|
prev_that(ea,
minea,
callable)
Find previous address with a flag satisfying the function 'testf'.do
not pass 'is_unknown()' to this function to find unexplored bytes It
will fail under the debugger. |
|
|
ea_t
|
prev_unknown(ea,
minea)
Similar to 'prev_that()' , but will find the previous address that is
unexplored. |
|
|
PyObject *
|
print_strlit_type(strtype,
flags=0)
Get string type information: the string type name (possibly decorated
with hotkey markers), and the tooltip. |
|
|
bool
|
put_byte(ea,
x)
Set value of one byte of the program. |
|
|
|
put_bytes(ea,
buf)
Modify the specified number of bytes of the program. |
|
|
|
put_dword(ea,
x)
Set value of one dword of the program. |
|
|
|
put_qword(ea,
x)
Set value of one qword (8 bytes) of the program. |
|
|
|
put_word(ea,
x)
Set value of one word of the program. |
|
|
flags_t
|
qword_flag()
Get a flags_t representing a quad word. |
|
|
int
|
|
int
|
|
|
|
bool
|
|
flags_t
|
seg_flag()
see 'Bits: instruction operand types' |
|
|
bool
|
set_cmt(ea,
comm,
rptble)
Set an indented comment. |
|
|
bool
|
|
bool
|
set_immd(ea)
Set 'has immediate operand' flag. |
|
|
bool
|
|
|
|
bool
|
set_op_type(ea,
type,
n)
(internal function) change representation of operand(s). |
|
|
bool
|
set_opinfo(ea,
n,
flag,
ti,
suppress_events=False)
Set additional information about an operand representation. |
|
|
flags_t
|
stkvar_flag()
see 'Bits: instruction operand types' |
|
|
flags_t
|
strlit_flag()
Get a flags_t representing a string literal. |
|
|
flags_t
|
stroff_flag()
see 'Bits: instruction operand types' |
|
|
flags_t
|
stru_flag()
Get a flags_t representing a struct. |
|
|
flags_t
|
tbyte_flag()
Get a flags_t representing a tbyte. |
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
|
bool
|
|
|
unregister_data_types_and_formats(formats)
As opposed to register_data_types_and_formats(), this function
unregisters multiple data types and formats at once. |
|
|
bool
|
|
ea_t
|
use_mapping(ea)
Translate address according to current mappings. |
|
|
int
|
visit_patched_bytes(ea1,
ea2,
py_callable)
Enumerates patched bytes in the given range and invokes a callable |
|
|
flags_t
|
word_flag()
Get a flags_t representing a word. |
|
|
flags_t
|
yword_flag()
Get a flags_t representing a ymm word. |
|
|
flags_t
|
zword_flag()
Get a flags_t representing a zmm word. |
|
|