Module ida_ida
[frames] | no frames]

Module ida_ida

IDA Plugin SDK API wrapper: ida

Classes
  compiler_info_t
Proxy of C++ compiler_info_t class
  idainfo
Proxy of C++ idainfo class
Functions
bool
show_repeatables()
Is IDA configured to show all repeatable comments?
bool
show_all_comments()
Is IDA configured to show all comment lines?
bool
show_comments()
Is IDA configured to show any comments at all?
bool
should_trace_sp()
Is IDA configured to trace the stack pointer?
bool
should_create_stkvars()
Is IDA configured to create stack variables?
int
calc_default_idaplace_flags()
Get default disassembly line options.
ea_t
to_ea(reg_cs, reg_ip)
Convert (seg,off) value to a linear address.
Variables
  f_EXE_old = 0
  f_COM_old = 1
  f_BIN = 2
  f_DRV = 3
  f_WIN = 4
  f_HEX = 5
  f_MEX = 6
  f_LX = 7
  f_LE = 8
  f_NLM = 9
  f_COFF = 10
  f_PE = 11
  f_OMF = 12
  f_SREC = 13
  f_ZIP = 14
  f_OMFLIB = 15
  f_AR = 16
  f_LOADER = 17
  f_ELF = 18
  f_W32RUN = 19
  f_AOUT = 20
  f_PRC = 21
  f_EXE = 22
  f_COM = 23
  f_AIXAR = 24
  f_MACHO = 25
  STT_CUR = -1
  STT_VA = 0
  STT_MM = 1
  STT_DBG = 2
  INFFL_AUTO = 1
Autoanalysis is enabled?
  INFFL_ALLASM = 2
the target assembler
  INFFL_LOADIDC = 4
loading an idc file that contains database info
  INFFL_NOUSER = 8
do not store user info in the database
  INFFL_READONLY = 16
(internal) temporary interdiction to modify the database
  INFFL_CHKOPS = 32
check manual operands? (unused)
  INFFL_NMOPS = 64
allow non-matched operands? (unused)
  INFFL_GRAPH_VIEW = 128
currently using graph options ({graph})
  LFLG_PC_FPP = 1
decode floating point processor instructions?
  LFLG_PC_FLAT = 2
32-bit program?
  LFLG_64BIT = 4
64-bit program?
  LFLG_IS_DLL = 8
Is dynamic library?
  LFLG_FLAT_OFF32 = 16
treat 'REF_OFF32' as 32-bit offset for 16bit segments (otherwise try SEG16:OFF16)
  LFLG_MSF = 32
Byte order: is MSB first?
  LFLG_WIDE_HBF = 64
(wide bytes: {dnbits} > 8)
  LFLG_DBG_NOPATH = 128
do not store input full path in debugger process options
  LFLG_SNAPSHOT = 256
memory snapshot was taken?
  LFLG_PACK = 512
pack the database?
  LFLG_COMPRESS = 1024
compress the database?
  LFLG_KERNMODE = 2048
is kernel mode binary?
  IDB_UNPACKED = 0
leave database components unpacked
  IDB_PACKED = 1
pack database components into .idb
  IDB_COMPRESSED = 2
compress & pack database components
  AF_CODE = 1
Trace execution flow.
  AF_MARKCODE = 2
Mark typical code sequences as code.
  AF_JUMPTBL = 4
Locate and create jump tables.
  AF_PURDAT = 8
Control flow to data segment is ignored.
  AF_USED = 16
Analyze and create all xrefs.
  AF_UNK = 32
Delete instructions with no xrefs.
  AF_PROCPTR = 64
Create function if data xref data->code32 exists.
  AF_PROC = 128
Create functions if call is present.
  AF_FTAIL = 256
Create function tails.
  AF_LVAR = 512
Create stack variables.
  AF_STKARG = 1024
Propagate stack argument information.
  AF_REGARG = 2048
Propagate register argument information.
  AF_TRACE = 4096
Trace stack pointer.
  AF_VERSP = 8192
Perform full SP-analysis.
  AF_ANORET = 16384
Perform 'no-return' analysis.
  AF_MEMFUNC = 32768
Try to guess member function types.
  AF_TRFUNC = 65536
Truncate functions upon code deletion.
  AF_STRLIT = 131072
Create string literal if data xref exists.
  AF_CHKUNI = 262144
Check for unicode strings.
  AF_FIXUP = 524288
Create offsets and segments using fixup info.
  AF_DREFOFF = 1048576
Create offset if data xref to seg32 exists.
  AF_IMMOFF = 2097152
Convert 32bit instruction operand to offset.
  AF_DATOFF = 4194304
Automatically convert data to offsets.
  AF_FLIRT = 8388608
Use flirt signatures.
  AF_SIGCMT = 16777216
Append a signature name comment for recognized anonymous library functions.
  AF_SIGMLT = 33554432
Allow recognition of several copies of the same function.
  AF_HFLIRT = 67108864
Automatically hide library functions.
  AF_JFUNC = 134217728
Rename jump functions as j_...
  AF_NULLSUB = 268435456
Rename empty functions as nullsub_...
  AF_DODATA = 536870912
Coagulate data segs at the final pass.
  AF_DOCODE = 1073741824
Coagulate code segs at the final pass.
  AF_FINAL = -2147483648
Final pass of analysis.
  AF2_DOEH = 1
Handle EH information.
  AF2_DORTTI = 2
Handle RTTI information
  SW_SEGXRF = 1
show segments in xrefs?
  SW_XRFMRK = 2
show xref type marks?
  SW_XRFFNC = 4
show function offsets?
  SW_XRFVAL = 8
show xref values? (otherwise-"...")
  NM_REL_OFF = 0
  NM_PTR_OFF = 1
  NM_NAM_OFF = 2
  NM_REL_EA = 3
  NM_PTR_EA = 4
  NM_NAM_EA = 5
  NM_EA = 6
  NM_EA4 = 7
  NM_EA8 = 8
  NM_SHORT = 9
  NM_SERIAL = 10
  DEMNAM_MASK = 3
mask for name form
  DEMNAM_CMNT = 0
display demangled names as comments
  DEMNAM_NAME = 1
display demangled names as regular names
  DEMNAM_NONE = 2
don't display demangled names
  DEMNAM_GCC3 = 4
assume gcc3 names (valid for gnu compiler)
  DEMNAM_FIRST = 8
override type info
  LN_NORMAL = 1
include normal names
  LN_PUBLIC = 2
include public names
  LN_AUTO = 4
include autogenerated names
  LN_WEAK = 8
include weak names
  OFLG_SHOW_VOID = 2
Display void marks?
  OFLG_SHOW_AUTO = 4
Display autoanalysis indicator?
  OFLG_GEN_NULL = 16
Generate empty lines?
  OFLG_SHOW_PREF = 32
Show line prefixes?
  OFLG_PREF_SEG = 64
line prefixes with segment name?
  OFLG_LZERO = 128
generate leading zeroes in numbers
  OFLG_GEN_ORG = 256
Generate 'org' directives?
  OFLG_GEN_ASSUME = 512
Generate 'assume' directives?
  OFLG_GEN_TRYBLKS = 1024
Generate try/catch directives?
  SW_RPTCMT = 1
show repeatable comments?
  SW_ALLCMT = 2
comment all lines?
  SW_NOCMT = 4
no comments at all
  SW_LINNUM = 8
show source line numbers
  SW_TESTMODE = 16
testida.idc is running
  SW_SHHID_ITEM = 32
show hidden instructions
  SW_SHHID_FUNC = 64
show hidden functions
  SW_SHHID_SEGM = 128
show hidden segments
  LMT_THIN = 1
thin borders
  LMT_THICK = 2
thick borders
  LMT_EMPTY = 4
empty lines at the end of basic blocks
  PREF_SEGADR = 1
show segment addresses?
  PREF_FNCOFF = 2
show function offsets?
  PREF_STACK = 4
show stack pointer?
  STRF_GEN = 1
generate names?
  STRF_AUTO = 2
names have 'autogenerated' bit?
  STRF_SERIAL = 4
generate serial names?
  STRF_UNICODE = 8
unicode strings are present?
  STRF_COMMENT = 16
generate auto comment for string references?
  STRF_SAVECASE = 32
preserve case of strings for identifiers
  ABI_8ALIGN4 = 1
4 byte alignment for 8byte scalars (__int64/double) inside structures?
  ABI_PACK_STKARGS = 2
do not align stack arguments to stack slots
  ABI_BIGARG_ALIGN = 4
(e.g.
  ABI_STACK_LDBL = 8
long double areuments are passed on stack
  ABI_STACK_VARARGS = 16
varargs are always passed on stack (even when there are free registers)
  ABI_HARD_FLOAT = 32
use the floating-point register set
  ABI_SET_BY_USER = 64
compiler/abi were set by user flag and require SETCOMP_BY_USER flag to be changed
  ABI_GCC_LAYOUT = 128
use gcc layout for udts (used for mingw)
  UA_MAXOP = 8
max number of operands allowed for an instruction
  MAXADDR = 4278190080
  IDB_EXT32 = 'idb'
  IDB_EXT64 = 'i64'
  IDB_EXT = 'idb'
  cvar = _ida_ida.cvar
  __package__ = None
Function Details

to_ea(reg_cs, reg_ip)

 

Convert (seg,off) value to a linear address.

Parameters:
  • reg_cs, (C++ - sel_t)
  • reg_ip, (C++ - ea_t)
Returns: ea_t

Variables Details

INFFL_ALLASM

the target assembler

may use constructs not supported by

Value:
2

LFLG_WIDE_HBF

(wide bytes: {dnbits} > 8)

Bit order of wide bytes: high byte first?

Value:
64

AF_VERSP

Perform full SP-analysis. ({verify_sp})

Value:
8192

ABI_BIGARG_ALIGN

(e.g. __int64 argument should be 8byte aligned on some 32bit platforms)

use natural type alignment for argument if the alignment exceeds native word size

Value:
4