Module ida_ua
[frames] | no frames]

Module ida_ua

IDA Plugin SDK API wrapper: ua

Classes
  operands_array
Proxy of C++ wrapped_array_t<(op_t,8)> class
  op_t
Proxy of C++ op_t class
  insn_t
Proxy of C++ insn_t class
  outctx_base_t
Proxy of C++ outctx_base_t class
  outctx_t
Proxy of C++ outctx_t class
Functions
 
insn_add_cref(insn, to, opoff, type)
 
insn_add_dref(insn, to, opoff, type)
ea_t
insn_add_off_drefs(insn, x, type, outf)
bool
insn_create_stkvar(insn, x, v, flags)
int
get_lookback()
ea_t
calc_dataseg(insn, n=-1, rgnum=-1)
ea_t
map_data_ea(insn, addr, opnum=-1)
map_data_ea(insn, op) -> ea_t
ea_t
map_code_ea(insn, addr, opnum)
map_code_ea(insn, op) -> ea_t
ea_t
map_ea(insn, op, iscode)
map_ea(insn, addr, opnum, iscode) -> ea_t
outctx_base_t
create_outctx(ea, F=0, suspop=0)
bool
print_insn_mnem(ea)
flags_t
get_dtype_flag(dtype)
size_t
get_dtype_size(dtype)
int
create_insn(ea, out=None)
int
decode_insn(out, ea)
bool
can_decode(ea)
bool
print_operand(ea, n, getn_flags=0, newtype=None)
ea_t
decode_prev_insn(out, ea)
ea_t
guess_table_address(insn)
asize_t
guess_table_size(insn, jump_table)
PyObject *
decode_preceding_insn(out, ea)
Decodes the preceding instruction.
bool
construct_macro(insn, enable, build_macro)
See ua.hpp's construct_macro().
int
get_dtype_by_size(size)
PyObject *
get_immvals(ea, n)
insn_t
insn_t__from_ptrval__(ptrval)
op_t
op_t__from_ptrval__(ptrval)
outctx_base_t
outctx_base_t__from_ptrval__(ptrval)
outctx_t
outctx_t__from_ptrval__(ptrval)
bool
ua_mnem(ea)
Variables
  cvar = _ida_ua.cvar
  o_void = 0
  o_reg = 1
  o_mem = 2
  o_phrase = 3
  o_displ = 4
  o_imm = 5
  o_far = 6
  o_near = 7
  o_idpspec0 = 8
  o_idpspec1 = 9
  o_idpspec2 = 10
  o_idpspec3 = 11
  o_idpspec4 = 12
  o_idpspec5 = 13
  OF_NO_BASE_DISP = 128
  OF_OUTER_DISP = 64
  PACK_FORM_DEF = 32
  OF_NUMBER = 16
  OF_SHOW = 8
  dt_byte = 0
  dt_word = 1
  dt_dword = 2
  dt_float = 3
  dt_double = 4
  dt_tbyte = 5
  dt_packreal = 6
  dt_qword = 7
  dt_byte16 = 8
  dt_code = 9
  dt_void = 10
  dt_fword = 11
  dt_bitfild = 12
  dt_string = 13
  dt_unicode = 14
  dt_ldbl = 15
  dt_byte32 = 16
  dt_byte64 = 17
  INSN_MACRO = 1
  INSN_MODMAC = 2
  STKVAR_VALID_SIZE = 1
  CTXF_MAIN = 1
  CTXF_MULTI = 2
  CTXF_CODE = 4
  CTXF_STACK = 8
  CTXF_GEN_XREFS = 16
  CTXF_XREF_STATE = 96
  XREFSTATE_NONE = 0
  XREFSTATE_GO = 32
  XREFSTATE_DONE = 64
  CTXF_GEN_CMT = 128
  CTXF_CMT_STATE = 768
  COMMSTATE_NONE = 0
  COMMSTATE_GO = 256
  COMMSTATE_DONE = 512
  CTXF_VOIDS = 1024
  CTXF_NORMAL_LABEL = 2048
  CTXF_DEMANGLED_LABEL = 4096
  CTXF_LABEL_OK = 8192
  CTXF_DEMANGLED_OK = 16384
  OOF_SIGNMASK = 3
  OOFS_IFSIGN = 0
  OOFS_NOSIGN = 1
  OOFS_NEEDSIGN = 2
  OOF_SIGNED = 4
  OOF_NUMBER = 8
  OOF_WIDTHMASK = 112
  OOFW_IMM = 0
  OOFW_8 = 16
  OOFW_16 = 32
  OOFW_24 = 48
  OOFW_32 = 64
  OOFW_64 = 80
  OOF_ADDR = 128
  OOF_OUTER = 256
  OOF_ZSTROFF = 512
  OOF_NOBNOT = 1024
  OOF_SPACES = 2048
  OOF_ANYSERIAL = 4096
  MAKELINE_NONE = 0
  MAKELINE_BINPREF = 1
  MAKELINE_VOID = 2
  MAKELINE_STACK = 4
  GH_PRINT_PROC = 1
  GH_PRINT_ASM = 2
  GH_PRINT_BYTESEX = 4
  GH_PRINT_HEADER = 8
  GH_BYTESEX_HAS_HIGHBYTE = 16
  GH_PRINT_PROC_AND_ASM = 3
  GH_PRINT_PROC_ASM_AND_BYTESEX = 7
  GH_PRINT_ALL = 15
  GH_PRINT_ALL_BUT_BYTESEX = 11
  __package__ = None
Function Details

decode_preceding_insn(out, ea)

 

Decodes the preceding instruction. Please check ua.hpp / decode_preceding_insn()

Parameters:
  • ea - current ea
  • out - instruction storage
Returns: PyObject *
tuple(preceeding_ea or BADADDR, farref = Boolean)