IDAPython 9.0
Loading...
Searching...
No Matches
ida_ua.py File Reference

Classes

class  operands_array
 Proxy of C++ wrapped_array_t< op_t,8 > class. More...
 
class  op_t
 Proxy of C++ op_t class. More...
 
class  insn_t
 Proxy of C++ insn_t class. More...
 
class  outctx_base_t
 Proxy of C++ outctx_base_t class. More...
 
class  outctx_t
 Proxy of C++ outctx_t class. More...
 
class  macro_constructor_t
 Proxy of C++ macro_constructor_t class. More...
 

Namespaces

namespace  ida_ua
 Functions that deal with the disassembling of program instructions.
 

Functions

"void" insn_add_cref ("insn_t" insn, "ea_t" to, "int" opoff, "cref_t" type)
 insn_add_cref(insn, to, opoff, type)
 
"void" insn_add_dref ("insn_t" insn, "ea_t" to, "int" opoff, "dref_t" type)
 insn_add_dref(insn, to, opoff, type)
 
"ea_t" insn_add_off_drefs ("insn_t" insn, "op_t" x, "dref_t" type, "int" outf)
 insn_add_off_drefs(insn, x, type, outf) -> ea_t
 
"bool" insn_create_stkvar ("insn_t" insn, "op_t" x, "adiff_t" v, "int" flags)
 insn_create_stkvar(insn, x, v, flags) -> bool
 
"int" get_lookback ()
 get_lookback() -> int Number of instructions to look back.
 
"ea_t" calc_dataseg ("insn_t" insn, "int" n=-1, "int" rgnum=-1)
 calc_dataseg(insn, n=-1, rgnum=-1) -> ea_t Get data segment for the instruction operand.
 
"ea_t" map_data_ea (*args)
 map_data_ea(insn, addr, opnum=-1) -> ea_t
 
"ea_t" map_code_ea (*args)
 map_code_ea(insn, addr, opnum) -> ea_t
 
"ea_t" map_ea (*args)
 map_ea(insn, op, iscode) -> ea_t
 
"outctx_base_t *" create_outctx ("ea_t" ea, "flags64_t" F=0, "int" suspop=0)
 create_outctx(ea, F=0, suspop=0) -> outctx_base_t Create a new output context.
 
"qstring *" print_insn_mnem ("ea_t" ea)
 print_insn_mnem(ea) -> str Print instruction mnemonics.
 
"flags64_t" get_dtype_flag ("op_dtype_t" dtype)
 get_dtype_flag(dtype) -> flags64_t Get flags for op_t.dtype field.
 
"size_t" get_dtype_size ("op_dtype_t" dtype)
 get_dtype_size(dtype) -> size_t Get size of opt_::dtype field.
 
"bool" is_floating_dtype ("op_dtype_t" dtype)
 is_floating_dtype(dtype) -> bool Is a floating type operand?
 
"int" create_insn ("ea_t" ea, "insn_t" out=None)
 create_insn(ea, out=None) -> int Create an instruction at the specified address.
 
"int" decode_insn ("insn_t" out, "ea_t" ea)
 decode_insn(out, ea) -> int Analyze the specified address and fill 'out'.
 
"bool" can_decode ("ea_t" ea)
 can_decode(ea) -> bool Can the bytes at address 'ea' be decoded as instruction?
 
"qstring *" print_operand ("ea_t" ea, "int" n, "int" getn_flags=0, "printop_t" newtype=None)
 print_operand(ea, n, getn_flags=0, newtype=None) -> bool Generate text representation for operand #n.
 
"ea_t" decode_prev_insn ("insn_t" out, "ea_t" ea)
 decode_prev_insn(out, ea) -> ea_t Decode previous instruction if it exists, fill 'out'.
 
"PyObject *" decode_preceding_insn ("insn_t" out, "ea_t" ea)
 Decodes the preceding instruction.
 
"bool" construct_macro (*args)
 See ua.hpp's construct_macro().
 
"int" get_dtype_by_size ("asize_t" size)
 get_dtype_by_size(size) -> int Get op_t.dtype from size.
 
"PyObject *" get_immvals ("ea_t" ea, "int" n, "flags64_t" F=0)
 get_immvals(ea, n, F=0) -> PyObject Get immediate values at the specified address.
 
"PyObject *" get_printable_immvals ("ea_t" ea, "int" n, "flags64_t" F=0)
 get_printable_immvals(ea, n, F=0) -> PyObject Get immediate ready-to-print values at the specified address
 
"insn_t *" insn_t__from_ptrval__ ("size_t" ptrval)
 insn_t__from_ptrval__(ptrval) -> insn_t
 
"op_t *" op_t__from_ptrval__ ("size_t" ptrval)
 op_t__from_ptrval__(ptrval) -> op_t
 
"outctx_base_t *" outctx_base_t__from_ptrval__ ("size_t" ptrval)
 outctx_base_t__from_ptrval__(ptrval) -> outctx_base_t
 
"outctx_t *" outctx_t__from_ptrval__ ("size_t" ptrval)
 outctx_t__from_ptrval__(ptrval) -> outctx_t
 

Variables

 cvar = _ida_ua.cvar
 
 o_void = cvar.o_void
 
 o_reg = cvar.o_reg
 
 o_mem = cvar.o_mem
 
 o_phrase = cvar.o_phrase
 
 o_displ = cvar.o_displ
 
 o_imm = cvar.o_imm
 
 o_far = cvar.o_far
 
 o_near = cvar.o_near
 
 o_idpspec0 = cvar.o_idpspec0
 
 o_idpspec1 = cvar.o_idpspec1
 
 o_idpspec2 = cvar.o_idpspec2
 
 o_idpspec3 = cvar.o_idpspec3
 
 o_idpspec4 = cvar.o_idpspec4
 
 o_idpspec5 = cvar.o_idpspec5
 
 OF_NO_BASE_DISP = _ida_ua.OF_NO_BASE_DISP
 
 OF_OUTER_DISP = _ida_ua.OF_OUTER_DISP
 
 PACK_FORM_DEF = _ida_ua.PACK_FORM_DEF
 
 OF_NUMBER = _ida_ua.OF_NUMBER
 
 OF_SHOW = _ida_ua.OF_SHOW
 
 dt_byte = _ida_ua.dt_byte
 
 dt_word = _ida_ua.dt_word
 
 dt_dword = _ida_ua.dt_dword
 
 dt_float = _ida_ua.dt_float
 
 dt_double = _ida_ua.dt_double
 
 dt_tbyte = _ida_ua.dt_tbyte
 
 dt_packreal = _ida_ua.dt_packreal
 
 dt_qword = _ida_ua.dt_qword
 
 dt_byte16 = _ida_ua.dt_byte16
 
 dt_code = _ida_ua.dt_code
 
 dt_void = _ida_ua.dt_void
 
 dt_fword = _ida_ua.dt_fword
 
 dt_bitfild = _ida_ua.dt_bitfild
 
 dt_string = _ida_ua.dt_string
 
 dt_unicode = _ida_ua.dt_unicode
 
 dt_ldbl = _ida_ua.dt_ldbl
 
 dt_byte32 = _ida_ua.dt_byte32
 
 dt_byte64 = _ida_ua.dt_byte64
 
 dt_half = _ida_ua.dt_half
 
 INSN_MACRO = _ida_ua.INSN_MACRO
 
 INSN_MODMAC = _ida_ua.INSN_MODMAC
 
 INSN_64BIT = _ida_ua.INSN_64BIT
 
 STKVAR_VALID_SIZE = _ida_ua.STKVAR_VALID_SIZE
 
 CTXF_MAIN = _ida_ua.CTXF_MAIN
 
 CTXF_MULTI = _ida_ua.CTXF_MULTI
 
 CTXF_CODE = _ida_ua.CTXF_CODE
 
 CTXF_STACK = _ida_ua.CTXF_STACK
 
 CTXF_GEN_XREFS = _ida_ua.CTXF_GEN_XREFS
 
 CTXF_XREF_STATE = _ida_ua.CTXF_XREF_STATE
 
 XREFSTATE_NONE = _ida_ua.XREFSTATE_NONE
 
 XREFSTATE_GO = _ida_ua.XREFSTATE_GO
 
 XREFSTATE_DONE = _ida_ua.XREFSTATE_DONE
 
 CTXF_GEN_CMT = _ida_ua.CTXF_GEN_CMT
 
 CTXF_CMT_STATE = _ida_ua.CTXF_CMT_STATE
 
 COMMSTATE_NONE = _ida_ua.COMMSTATE_NONE
 
 COMMSTATE_GO = _ida_ua.COMMSTATE_GO
 
 COMMSTATE_DONE = _ida_ua.COMMSTATE_DONE
 
 CTXF_VOIDS = _ida_ua.CTXF_VOIDS
 
 CTXF_NORMAL_LABEL = _ida_ua.CTXF_NORMAL_LABEL
 
 CTXF_DEMANGLED_LABEL = _ida_ua.CTXF_DEMANGLED_LABEL
 
 CTXF_LABEL_OK = _ida_ua.CTXF_LABEL_OK
 
 CTXF_DEMANGLED_OK = _ida_ua.CTXF_DEMANGLED_OK
 
 CTXF_OVSTORE_PRNT = _ida_ua.CTXF_OVSTORE_PRNT
 
 CTXF_OUTCTX_T = _ida_ua.CTXF_OUTCTX_T
 
 CTXF_DBLIND_OPND = _ida_ua.CTXF_DBLIND_OPND
 
 CTXF_BINOP_STATE = _ida_ua.CTXF_BINOP_STATE
 
 BINOPSTATE_NONE = _ida_ua.BINOPSTATE_NONE
 
 BINOPSTATE_GO = _ida_ua.BINOPSTATE_GO
 
 BINOPSTATE_DONE = _ida_ua.BINOPSTATE_DONE
 
 CTXF_HIDDEN_ADDR = _ida_ua.CTXF_HIDDEN_ADDR
 
 CTXF_BIT_PREFIX = _ida_ua.CTXF_BIT_PREFIX
 
 OOF_SIGNMASK = _ida_ua.OOF_SIGNMASK
 
 OOFS_IFSIGN = _ida_ua.OOFS_IFSIGN
 
 OOFS_NOSIGN = _ida_ua.OOFS_NOSIGN
 
 OOFS_NEEDSIGN = _ida_ua.OOFS_NEEDSIGN
 
 OOF_SIGNED = _ida_ua.OOF_SIGNED
 
 OOF_NUMBER = _ida_ua.OOF_NUMBER
 
 OOF_WIDTHMASK = _ida_ua.OOF_WIDTHMASK
 
 OOFW_IMM = _ida_ua.OOFW_IMM
 
 OOFW_8 = _ida_ua.OOFW_8
 
 OOFW_16 = _ida_ua.OOFW_16
 
 OOFW_24 = _ida_ua.OOFW_24
 
 OOFW_32 = _ida_ua.OOFW_32
 
 OOFW_64 = _ida_ua.OOFW_64
 
 OOF_ADDR = _ida_ua.OOF_ADDR
 
 OOF_OUTER = _ida_ua.OOF_OUTER
 
 OOF_ZSTROFF = _ida_ua.OOF_ZSTROFF
 
 OOF_NOBNOT = _ida_ua.OOF_NOBNOT
 
 OOF_SPACES = _ida_ua.OOF_SPACES
 
 OOF_ANYSERIAL = _ida_ua.OOF_ANYSERIAL
 
 OOF_LZEROES = _ida_ua.OOF_LZEROES
 
 OOF_NO_LZEROES = _ida_ua.OOF_NO_LZEROES
 
 DEFAULT_INDENT = _ida_ua.DEFAULT_INDENT
 
 MAKELINE_NONE = _ida_ua.MAKELINE_NONE
 
 MAKELINE_BINPREF = _ida_ua.MAKELINE_BINPREF
 
 MAKELINE_VOID = _ida_ua.MAKELINE_VOID
 
 MAKELINE_STACK = _ida_ua.MAKELINE_STACK
 
 GH_PRINT_PROC = _ida_ua.GH_PRINT_PROC
 
 GH_PRINT_ASM = _ida_ua.GH_PRINT_ASM
 
 GH_PRINT_BYTESEX = _ida_ua.GH_PRINT_BYTESEX
 
 GH_PRINT_HEADER = _ida_ua.GH_PRINT_HEADER
 
 GH_BYTESEX_HAS_HIGHBYTE = _ida_ua.GH_BYTESEX_HAS_HIGHBYTE
 
 GH_PRINT_PROC_AND_ASM = _ida_ua.GH_PRINT_PROC_AND_ASM
 
 GH_PRINT_PROC_ASM_AND_BYTESEX = _ida_ua.GH_PRINT_PROC_ASM_AND_BYTESEX
 
 GH_PRINT_ALL = _ida_ua.GH_PRINT_ALL
 
 GH_PRINT_ALL_BUT_BYTESEX = _ida_ua.GH_PRINT_ALL_BUT_BYTESEX
 
 FCBF_CONT = _ida_ua.FCBF_CONT
 
 FCBF_ERR_REPL = _ida_ua.FCBF_ERR_REPL
 
 FCBF_FF_LIT = _ida_ua.FCBF_FF_LIT
 
 FCBF_DELIM = _ida_ua.FCBF_DELIM
 
"qstring *" ua_mnem = print_insn_mnem