Module idc
This file contains IDA built-in function declarations and internal bit definitions. Each byte of the program has 32-bit flags (low 8 bits keep the byte value). These 32 bits are used in get_full_flags/get_flags functions.
This file is subject to change without any notice. Future versions of IDA may use other definitions.
Global Variables
ABI_8ALIGN4
ABI_BIGARG_ALIGN
ABI_GCC_LAYOUT
ABI_HARD_FLOAT
ABI_HUGEARG_ALIGN
ABI_MAP_STKARGS
ABI_PACK_STKARGS
ABI_SET_BY_USER
ABI_STACK_LDBL
ABI_STACK_VARARGS
ADDSEG_FILLGAP
ADDSEG_NOSREG
ADDSEG_NOTRUNC
ADDSEG_OR_DIE
ADDSEG_QUIET
ADDSEG_SPARSE
AF2_DOEH
AF2_DORTTI
AF2_MACRO
AF2_MERGESTR
AF_ANORET
AF_CHKUNI
AF_CODE
AF_DATOFF
AF_DOCODE
AF_DODATA
AF_DREFOFF
AF_FINAL
AF_FIXUP
AF_FLIRT
AF_FTAIL
AF_HFLIRT
AF_IMMOFF
AF_JFUNC
AF_JUMPTBL
AF_LVAR
AF_MARKCODE
AF_MEMFUNC
AF_NULLSUB
AF_PROC
AF_PROCPTR
AF_PURDAT
AF_REGARG
AF_SIGCMT
AF_SIGMLT
AF_STKARG
AF_STRLIT
AF_TRACE
AF_TRFUNC
AF_UNK
AF_USED
AF_VERSP
APPT_16BIT
APPT_1THREAD
APPT_32BIT
APPT_CONSOLE
APPT_DRIVER
APPT_GRAPHIC
APPT_LIBRARY
APPT_MTHREAD
APPT_PROGRAM
AP_ALLOWDUPS
AP_ARRAY
AP_IDXBASEMASK
AP_IDXBIN
AP_IDXDEC
AP_IDXHEX
AP_IDXOCT
AP_INDEX
AP_SIGNED
AR_LONG
AR_STR
AU_CODE
AU_FINAL
AU_LIBF
AU_PROC
AU_UNK
AU_USED
BADADDR
BADSEL
BPLT_ABS
BPLT_REL
BPLT_SYM
BPTATTR_COND
BPTATTR_COUNT
BPTATTR_EA
BPTATTR_FLAGS
BPTATTR_PID
BPTATTR_SIZE
BPTATTR_TID
BPTATTR_TYPE
BPTCK_ACT
BPTCK_NO
BPTCK_NONE
BPTCK_YES
BPT_BRK
BPT_DEFAULT
BPT_ENABLED
BPT_EXEC
BPT_LOWCND
BPT_RDWR
BPT_SOFT
BPT_TRACE
BPT_TRACEON
BPT_TRACE_BBLK
BPT_TRACE_FUNC
BPT_TRACE_INSN
BPT_UPDMEM
BPT_WRITE
BPU_1B
BPU_2B
BPU_4B
BREAKPOINT
CHART_GEN_GDL
CHART_NOLIBFUNCS
CHART_PRINT_NAMES
CHART_WINGRAPH
CIC_FUNC
CIC_ITEM
CIC_SEGM
COMP_BC
COMP_BP
COMP_GNU
COMP_MASK
COMP_MS
COMP_UNK
COMP_VISAGE
COMP_WATCOM
DBFL_BAK
DBG_ERROR
DBG_TIMEOUT
DEFCOLOR
DELIT_DELNAMES
DELIT_EXPAND
DELIT_SIMPLE
DEMNAM_CMNT
DEMNAM_FIRST
DEMNAM_GCC3
DEMNAM_MASK
DEMNAM_NAME
DEMNAM_NONE
DOPT_BPT_MSGS
DOPT_ENTRY_BPT
DOPT_EXCDLG
DOPT_INFO_BPT
DOPT_INFO_MSGS
DOPT_LIB_BPT
DOPT_LIB_MSGS
DOPT_LOAD_DINFO
DOPT_REAL_MEMORY
DOPT_REDO_STACK
DOPT_SEGM_MSGS
DOPT_START_BPT
DOPT_THREAD_BPT
DOPT_THREAD_MSGS
DSTATE_NOTASK
DSTATE_RUN
DSTATE_RUN_WAIT_ATTACH
DSTATE_RUN_WAIT_END
DSTATE_SUSP
DT_TYPE
ENFL_REGEX
EXCDLG_ALWAYS
EXCDLG_NEVER
EXCDLG_UNKNOWN
EXCEPTION
EXC_BREAK
EXC_HANDLE
E_NEXT
E_PREV
FF_0CHAR
FF_0ENUM
FF_0FOP
FF_0NUMB
FF_0NUMD
FF_0NUMH
FF_0NUMO
FF_0OFF
FF_0SEG
FF_0STK
FF_0STRO
FF_0VOID
FF_1CHAR
FF_1ENUM
FF_1FOP
FF_1NUMB
FF_1NUMD
FF_1NUMH
FF_1NUMO
FF_1OFF
FF_1SEG
FF_1STK
FF_1STRO
FF_1VOID
FF_ALIGN
FF_ANYNAME
FF_BYTE
FF_CODE
FF_COMM
FF_DATA
FF_DOUBLE
FF_DWORD
FF_FLOAT
FF_FLOW
FF_FUNC
FF_IMMD
FF_IVL
FF_JUMP
FF_LABL
FF_LINE
FF_NAME
FF_OWORD
FF_PACKREAL
FF_QWORD
FF_REF
FF_STRLIT
FF_STRUCT
FF_TAIL
FF_TBYTE
FF_UNK
FF_WORD
FIXUPF_CREATED
FIXUPF_EXTDEF
FIXUPF_REL
FIXUPF_UNUSED
FIXUP_CUSTOM
FIXUP_HI16
FIXUP_HI8
FIXUP_LOW16
FIXUP_LOW8
FIXUP_OFF16
FIXUP_OFF32
FIXUP_OFF64
FIXUP_OFF8
FIXUP_PTR32
FIXUP_PTR48
FIXUP_SEG16
FT_AIXAR
FT_AOUT
FT_AR
FT_BIN
FT_COFF
FT_COM
FT_COM_OLD
FT_DRV
FT_ELF
FT_EXE
FT_EXE_OLD
FT_HEX
FT_LE
FT_LOADER
FT_LX
FT_MACHO
FT_MEX
FT_NLM
FT_OMF
FT_OMFLIB
FT_PE
FT_PRC
FT_SREC
FT_W32RUN
FT_WIN
FT_ZIP
FUNCATTR_ARGSIZE
FUNCATTR_COLOR
FUNCATTR_END
FUNCATTR_FLAGS
FUNCATTR_FPD
FUNCATTR_FRAME
FUNCATTR_FRREGS
FUNCATTR_FRSIZE
FUNCATTR_OWNER
FUNCATTR_REFQTY
FUNCATTR_START
FUNC_BOTTOMBP
FUNC_FAR
FUNC_FRAME
FUNC_HIDDEN
FUNC_LIB
FUNC_LUMINA
FUNC_NORET
FUNC_NORET_PENDING
FUNC_OUTLINE
FUNC_PURGED_OK
FUNC_SP_READY
FUNC_STATIC
FUNC_TAIL
FUNC_THUNK
FUNC_USERFAR
GENDSM_FORCE_CODE
GENDSM_MULTI_LINE
GENFLG_ASMINC
GENFLG_ASMTYPE
GENFLG_GENHTML
GENFLG_IDCTYPE
GENFLG_MAPDMNG
GENFLG_MAPLOC
GENFLG_MAPNAME
GENFLG_MAPSEG
GN_COLORED
GN_DEMANGLED
GN_ISRET
GN_LOCAL
GN_LONG
GN_NOT_ISRET
GN_SHORT
GN_STRICT
GN_VISIBLE
IDA_STATUS_READY
IDA_STATUS_THINKING
IDA_STATUS_WAITING
IDA_STATUS_WORK
IDB_COMPRESSED
IDB_PACKED
IDB_UNPACKED
IDCHK_ARG
IDCHK_KEY
IDCHK_MAX
IDCHK_OK
INFFL_ALLASM
INFFL_AUTO
INFFL_CHKOPS
INFFL_GRAPH_VIEW
INFFL_LOADIDC
INFFL_NMOPS
INFFL_NOUSER
INFFL_READONLY
INFORMATION
INF_ABIBITS
INF_AF
INF_AF2
INF_APPCALL_OPTIONS
INF_APPTYPE
INF_ASMTYPE
INF_BASEADDR
INF_BINPREF
INF_BIN_PREFIX_SIZE
INF_BORDER
INF_CC_CM
INF_CC_DEFALIGN
INF_CC_ID
INF_CC_SIZE_B
INF_CC_SIZE_E
INF_CC_SIZE_I
INF_CC_SIZE_L
INF_CC_SIZE_LDBL
INF_CC_SIZE_LL
INF_CC_SIZE_S
INF_CHANGE_COUNTER
INF_CMTFLAG
INF_CMTFLG
INF_CMT_INDENT
INF_COMMENT
INF_COMPILER
INF_DATABASE_CHANGE_COUNT
INF_DATATYPES
INF_DEMNAMES
INF_END_PRIVRANGE
INF_FILETYPE
INF_GENFLAGS
INF_HIGHOFF
INF_HIGH_OFF
INF_INDENT
INF_LENXREF
INF_LFLAGS
INF_LIMITER
INF_LISTNAMES
INF_LONG_DEMNAMES
INF_LONG_DN
INF_LOWOFF
INF_LOW_OFF
INF_MAIN
INF_MARGIN
INF_MAXREF
INF_MAX_AUTONAME_LEN
INF_MAX_EA
INF_MIN_EA
INF_MODEL
INF_NAMETYPE
INF_NETDELTA
INF_OMAX_EA
INF_OMIN_EA
INF_OSTYPE
INF_OUTFLAGS
INF_PREFFLAG
INF_PRIVRANGE_END_EA
INF_PRIVRANGE_START_EA
INF_PROCNAME
INF_REFCMTNUM
INF_REFCMTS
INF_SHORT_DEMNAMES
INF_SHORT_DN
INF_SIZEOF_ALGN
INF_SIZEOF_BOOL
INF_SIZEOF_ENUM
INF_SIZEOF_INT
INF_SIZEOF_LDBL
INF_SIZEOF_LLONG
INF_SIZEOF_LONG
INF_SIZEOF_SHORT
INF_SPECSEGS
INF_START_CS
INF_START_EA
INF_START_IP
INF_START_PRIVRANGE
INF_START_SP
INF_START_SS
INF_STRLIT_BREAK
INF_STRLIT_FLAGS
INF_STRLIT_PREF
INF_STRLIT_SERNUM
INF_STRLIT_ZEROES
INF_STRTYPE
INF_TYPE_XREFNUM
INF_TYPE_XREFS
INF_VERSION
INF_XREFFLAG
INF_XREFNUM
INF_XREFS
LFLG_64BIT
LFLG_COMPRESS
LFLG_DBG_NOPATH
LFLG_FLAT_OFF32
LFLG_IS_DLL
LFLG_KERNMODE
LFLG_MSF
LFLG_PACK
LFLG_PC_FLAT
LFLG_PC_FPP
LFLG_SNAPSHOT
LFLG_WIDE_HBF
LIB_LOADED
LIB_UNLOADED
LMT_EMPTY
LMT_THICK
LMT_THIN
LN_AUTO
LN_NORMAL
LN_PUBLIC
LN_WEAK
MAXADDR
MOVE_SEGM_CHUNK
MOVE_SEGM_IDP
MOVE_SEGM_LOADER
MOVE_SEGM_ODD
MOVE_SEGM_OK
MOVE_SEGM_PARAM
MOVE_SEGM_ROOM
MSF_FIXONCE
MSF_LDKEEP
MSF_NOFIX
MSF_SILENT
MS_0TYPE
MS_1TYPE
MS_CLS
MS_CODE
MS_COMM
MS_VAL
NEF_CODE
NEF_FILL
NEF_FIRST
NEF_FLAT
NEF_IMPS
NEF_MAN
NEF_NAME
NEF_RELOAD
NEF_RSCS
NEF_SEGS
NM_EA
NM_EA4
NM_EA8
NM_NAM_EA
NM_NAM_OFF
NM_PTR_EA
NM_PTR_OFF
NM_REL_EA
NM_REL_OFF
NM_SERIAL
NM_SHORT
NOTASK
OFILE_ASM
OFILE_DIF
OFILE_EXE
OFILE_IDC
OFILE_LST
OFILE_MAP
OFLG_GEN_ASSUME
OFLG_GEN_NULL
OFLG_GEN_ORG
OFLG_GEN_TRYBLKS
OFLG_LZERO
OFLG_PREF_SEG
OFLG_SHOW_AUTO
OFLG_SHOW_PREF
OFLG_SHOW_VOID
OPND_OUTER
OSTYPE_MSDOS
OSTYPE_NETW
OSTYPE_OS2
OSTYPE_WIN
PDF_DEF_BASE
PDF_DEF_FWD
PDF_HEADER_CMT
PDF_INCL_DEPS
PREF_FNCOFF
PREF_PFXTRUNC
PREF_SEGADR
PREF_STACK
PROCESS_ATTACHED
PROCESS_DETACHED
PROCESS_EXITED
PROCESS_STARTED
PROCESS_SUSPENDED
PRTYPE_1LINCMT
PRTYPE_1LINE
PRTYPE_COLORED
PRTYPE_CPP
PRTYPE_DEF
PRTYPE_METHODS
PRTYPE_MULTI
PRTYPE_NOARGS
PRTYPE_NOARRS
PRTYPE_NOREGEX
PRTYPE_NORES
PRTYPE_PRAGMA
PRTYPE_RESTORE
PRTYPE_SEMI
PRTYPE_TYPE
PT_FILE
PT_HIGH
PT_LOWER
PT_NDC
PT_PACKMASK
PT_PAK1
PT_PAK16
PT_PAK2
PT_PAK4
PT_PAK8
PT_PAKDEF
PT_RAWARGS
PT_REPLACE
PT_SIL
PT_SILENT
PT_TYP
PT_VAR
REFINFO_NOBASE
REFINFO_PASTEND
REFINFO_RVA
REFINFO_SIGNEDOP
REFINFO_SUBTRACT
REF_HIGH16
REF_HIGH8
REF_LOW16
REF_LOW8
REF_OFF16
REF_OFF32
REF_OFF64
REF_OFF8
SCF_ALLCMT
SCF_LINNUM
SCF_NOCMT
SCF_RPTCMT
SCF_SHHID_FUNC
SCF_SHHID_ITEM
SCF_SHHID_SEGM
SCF_TESTMODE
SEGATTR_ALIGN
SEGATTR_BITNESS
SEGATTR_COLOR
SEGATTR_COMB
SEGATTR_CS
SEGATTR_DS
SEGATTR_END
SEGATTR_ES
SEGATTR_FLAGS
SEGATTR_FS
SEGATTR_GS
SEGATTR_ORGBASE
SEGATTR_PERM
SEGATTR_SEL
SEGATTR_SS
SEGATTR_START
SEGATTR_TYPE
SEGMOD_KEEP
SEGMOD_KILL
SEGMOD_SILENT
SEG_ABSSYM
SEG_BSS
SEG_CODE
SEG_COMM
SEG_DATA
SEG_GRP
SEG_IMEM
SEG_IMP
SEG_NORM
SEG_NULL
SEG_UNDF
SEG_XTRN
SETPROC_IDB
SETPROC_LOADER
SETPROC_LOADER_NON_FATAL
SETPROC_USER
SFL_COMORG
SFL_DEBUG
SFL_HIDDEN
SFL_HIDETYPE
SFL_LOADER
SFL_OBOK
SIZE_MAX
SN_AUTO
SN_CHECK
SN_LOCAL
SN_NOCHECK
SN_NOLIST
SN_NON_AUTO
SN_NON_PUBLIC
SN_NON_WEAK
SN_NOWARN
SN_PUBLIC
SN_WEAK
SR_auto
SR_autostart
SR_inherit
SR_user
STEP
STRF_AUTO
STRF_COMMENT
STRF_GEN
STRF_SAVECASE
STRF_SERIAL
STRF_UNICODE
STRLYT_MASK
STRLYT_PASCAL1
STRLYT_PASCAL2
STRLYT_PASCAL4
STRLYT_SHIFT
STRLYT_TERMCHR
STRTYPE_C
STRTYPE_C16
STRTYPE_C_16
STRTYPE_C_32
STRTYPE_LEN2
STRTYPE_LEN2_16
STRTYPE_LEN4
STRTYPE_LEN4_16
STRTYPE_PASCAL
STRTYPE_PASCAL_16
STRTYPE_TERMCHR
STRWIDTH_1B
STRWIDTH_2B
STRWIDTH_4B
STRWIDTH_MASK
STT_MM
STT_VA
ST_ALREADY_LOGGED
ST_OVER_DEBUG_SEG
ST_OVER_LIB_FUNC
ST_SKIP_LOOPS
SW_SEGXRF
SW_XRFFNC
SW_XRFMRK
SW_XRFVAL
TEV_BPT
TEV_CALL
TEV_EVENT
TEV_INSN
TEV_MEM
TEV_NONE
TEV_RET
THREAD_EXITED
THREAD_STARTED
TINFO_DEFINITE
TINFO_DELAYFUNC
TINFO_GUESSED
TRACE_FUNC
TRACE_INSN
TRACE_STEP
WFNE_ANY
WFNE_CONT
WFNE_NOWAIT
WFNE_SILENT
WFNE_SUSP
WORDMASK
XREF_USER
dr_I
dr_O
dr_R
dr_T
dr_W
fl_CF
fl_CN
fl_F
fl_JF
fl_JN
o_cond
o_crb
o_creg
o_creglist
o_crf
o_crreg
o_dbreg
o_dcr
o_displ
o_far
o_fpreg
o_fpreglist
o_idpspec0
o_idpspec1
o_idpspec2
o_idpspec3
o_idpspec4
o_idpspec5
o_imm
o_mem
o_mmxreg
o_near
o_phrase
o_reg
o_reglist
o_shmbme
o_spr
o_text
o_trreg
o_twofpr
o_void
o_xmmreg
saAbs
saGroup
saRel32Bytes
saRel4K
saRel64Bytes
saRelByte
saRelDble
saRelPage
saRelPara
saRelQword
saRelWord
scCommon
scPriv
scPub
scPub2
scPub3
scStack
Functions
AddSeg(startea, endea, base, use32, align, comb)
AutoMark(ea, qtype)
Plan to analyze an address
EVAL_FAILURE(code)
Check the result of eval_idc() for evaluation failures
GetDisasm(ea)
Get disassembly line
GetDouble(ea)
Get value of a floating point number (8 bytes) This function assumes number stored using IEEE format and in the same endianness as integers.
GetFloat(ea)
Get value of a floating point number (4 bytes) This function assumes number stored using IEEE format and in the same endianness as integers.
GetLocalType(ordinal, flags)
Retrieve a local type declaration flags: any of PRTYPE_* constants return: local type as a C declaration or ""
LoadFile(filepath, pos, ea, size)
Load file into IDA database
MakeVar(ea)
SaveFile(filepath, pos, ea, size)
Save from IDA database to file
SetPrcsr(processor)
SetType(ea, newtype)
Set type of function/variable
SizeOf(typestr)
Returns the size of the type. It is equivalent to IDC's sizeof(). typestr: can be specified as a typeinfo tuple (e.g. the result of get_tinfo()), serialized type byte string, or a string with C declaration (e.g. "int") return: -1 if typestring is not valid or has no size. otherwise size of the type
add_auto_stkpnt(func_ea, ea, delta)
Add automatic SP register change point func_ea: function start ea: linear address where SP changes usually this is the end of the instruction which modifies the stack pointer (insn.ea+insn.size) delta: difference between old and new values of SP return: 1-ok, 0-failed
add_default_til(name)
Load a type library
add_enum(idx, name, flag)
Add a new enum type
add_enum_member(enum_id, name, value, bmask=-1)
Add a member of enum - a symbolic constant
add_segm_ex(startea, endea, base, use32, align, comb, flags)
Create a new segment
add_struc(index, name, is_union)
Define a new structure type
add_struc_member(sid, name, offset, flag, typeid, nbytes, target=-1, tdelta=0, reftype=2)
Add structure member
append_func_tail(funcea, ea1, ea2)
Append a function chunk to the function
apply_type(ea, py_type, flags=1)
Apply the specified type to the address
atoa(ea)
Convert address value to a string Return address in the form 'seg000:1234' (the same as in line prefixes)
atol(s)
batch(batch)
Enable/disable batch mode of operation
byte_value(F)
Get byte value from flags Get value of byte provided that the byte is initialized. This macro works ok only for 8-bit byte machines.
call_system(command)
Execute an OS command.
IDA will wait for the started program to finish. In order to start the command in parallel, use OS methods. For example, you may start another program in parallel using "start" command.
can_exc_continue()
Can it continue after EXCEPTION event?
choose_func(title)
Ask the user to select a function
Arguments:
clear_trace(filename)
Clear the current trace buffer
create_array(name)
Create array.
create_byte(ea)
Convert the current item to a byte
create_double(ea)
Convert the current item to a double floating point (8 bytes)
create_dword(ea)
Convert the current item to a double word (4 bytes)
create_float(ea)
Convert the current item to a floating point (4 bytes)
create_oword(ea)
Convert the current item to an octa word (16 bytes/128 bits)
create_pack_real(ea)
Convert the current item to a packed real (10 or 12 bytes)
create_qword(ea)
Convert the current item to a quadro word (8 bytes)
create_strlit(ea, endea)
Create a string.
This function creates a string (the string type is determined by the value of get_inf_attr(INF_STRTYPE))
create_struct(ea, size, strname)
Convert the current item to a structure instance
create_tbyte(ea)
Convert the current item to a tbyte (10 or 12 bytes)
create_word(ea)
Convert the current item to a word (2 bytes)
create_yword(ea)
Convert the current item to a ymm word (32 bytes/256 bits)
define_local_var(start, end, location, name)
Create a local variable
del_array_element(tag, array_id, idx)
Delete an array element.
del_enum(enum_id)
Delete an enum type
del_enum_member(enum_id, value, serial, bmask=-1)
Delete a member of enum - a symbolic constant
del_hash_string(hash_id, key)
Delete a hash element.
del_stkpnt(func_ea, ea)
Delete SP register change point
del_struc(sid)
Delete a structure type
del_struc_member(sid, member_offset)
Delete structure member
delete_all_segments()
Delete all segments, instructions, comments, i.e. everything except values of bytes.
delete_array(array_id)
Delete array, by its ID.
demangle_name(name, disable_mask)
demangle_name a name
enable_tracing(trace_level, enable)
Enable step tracing
eval_idc(expr)
Evaluate an IDC expression
expand_struc(sid, offset, delta, recalc=True)
Expand or shrink a structure type id: structure type ID offset: offset in the structure delta: how many bytes to add or remove recalc: is not used anymore return: != 0 - ok
fclose(handle)
fgetc(handle)
filelength(handle)
find_func_end(ea)
Determine a new function boundaries
find_selector(val)
Find a selector which has the specified value
first_func_chunk(funcea)
Get the first function chunk of the specified function
fopen(f, mode)
force_bl_call(ea)
Force BL instruction to be a call
force_bl_jump(ea)
Some ARM compilers in Thumb mode use BL (branch-and-link) instead of B (branch) for long jumps, since BL has more range. By default, IDA tries to determine if BL is a jump or a call. You can override IDA's decision using commands in Edit/Other menu (Force BL call/Force BL jump) or the following two functions.
Force BL instruction to be a jump
form(format, *args)
fprintf(handle, format, *args)
fputc(byte, handle)
fseek(handle, offset, origin)
ftell(handle)
func_contains(func_ea, ea)
Does the given function contain the given address?
gen_file(filetype, path, ea1, ea2, flags)
Generate an output file
gen_flow_graph(outfile, title, ea1, ea2, flags)
Generate a flow chart GDL file
gen_simple_call_chart(outfile, title, flags)
Generate a function call graph GDL file
generate_disasm_line(ea, flags)
Get disassembly line
get_array_element(tag, array_id, idx)
Get value of array element.
get_array_id(name)
Get array array_id, by name.
get_bmask_cmt(enum_id, bmask, repeatable)
Get bitmask comment (only for bitfields)
get_bmask_name(enum_id, bmask)
Get bitmask name (only for bitfields)
get_bpt_attr(ea, bptattr)
Get the characteristics of a breakpoint
get_bpt_ea(n)
Get breakpoint address
get_bytes(ea, size, use_dbg=False)
Return the specified number of bytes of the program
get_color(ea, what)
Get item color
get_curline()
Get the disassembly line at the cursor
get_enum(name)
Get enum by name
get_enum_cmt(enum_id)
Get enum comment
get_enum_flag(enum_id)
Get flags determining the representation of the enum. (currently they define the numeric base: octal, decimal, hex, bin) and signness.
get_enum_member(enum_id, value, serial, bmask)
Get id of constant
get_enum_member_bmask(const_id)
Get bitmask of an enum member
get_enum_member_by_name(name)
Get a reference to an enum member by its name
get_enum_member_cmt(const_id, repeatable=True)
Get comment of a constant
get_enum_member_enum(const_id)
Get the parent enum of an enum member
get_enum_member_name(const_id)
Get name of a constant
Returns: name of constant
get_enum_member_value(const_id)
Get value of an enum member
get_enum_name(enum_id, flags=0)
Get name of enum
get_enum_size(enum_id)
Get the number of the members of the enum
get_enum_width(enum_id)
Get the width of a enum element allowed values: 0 (unspecified),1,2,4,8,16,32,64
get_event_bpt_hea()
Get hardware address for BREAKPOINT event
get_event_ea()
Get ea for debug event
get_event_exc_code()
Get exception code for EXCEPTION event
get_event_exc_ea()
Get address for EXCEPTION event
get_event_exc_info()
Get info for EXCEPTION event
get_event_exit_code()
Get exit code for debug event
get_event_id()
Get ID of debug event
get_event_info()
Get debug event info
get_event_module_base()
Get module base for debug event
get_event_module_name()
Get module name for debug event
get_event_module_size()
Get module size for debug event
get_event_pid()
Get process ID for debug event
get_event_tid()
Get type ID for debug event
get_fchunk_attr(ea, attr)
Get a function chunk attribute
get_first_bmask(enum_id)
Get first bitmask in the enum
get_first_enum_member(enum_id, bmask=-1)
Get first constant in the enum
get_first_hash_key(hash_id)
Get the first key in the hash.
get_first_index(tag, array_id)
Get index of the first existing array element.
get_first_module()
Enumerate process modules
get_first_seg()
Get first segment
get_fixup_target_dis(ea)
Get fixup target displacement
get_fixup_target_flags(ea)
Get fixup target flags
get_fixup_target_off(ea)
Get fixup target offset
get_fixup_target_sel(ea)
Get fixup target selector
get_fixup_target_type(ea)
Get fixup target type
get_frame_args_size(ea)
Get size of arguments in function frame which are purged upon return
get_frame_id(ea)
Get ID of function frame structure
get_frame_lvar_size(ea)
Get size of local variables in function frame
get_frame_regs_size(ea)
Get size of saved registers in function frame
get_frame_size(ea)
Get full size of function frame
get_func_attr(ea, attr)
Get a function attribute
get_func_cmt(ea, repeatable)
Retrieve function comment
get_func_flags(ea)
Retrieve function flags
get_func_name(ea)
Retrieve function name
get_func_off_str(ea)
Convert address to 'funcname+offset' string
get_hash_long(hash_id, key)
Gets the long value of a hash element.
get_hash_string(hash_id, key)
Gets the string value of a hash element.
get_idb_path()
Get IDB full path
This function returns full path of the current IDB database
get_inf_attr(attr)
Deprecated. Please ida_ida.inf_get_* instead.
get_item_size(ea)
Get size of instruction or data item in bytes
get_last_bmask(enum_id)
Get last bitmask in the enum
get_last_enum_member(enum_id, bmask=-1)
Get last constant in the enum
get_last_hash_key(hash_id)
Get the last key in the hash.
get_last_index(tag, array_id)
Get index of last existing array element.
get_local_tinfo(ordinal)
Get local type information as 'typeinfo' object
get_member_by_idx(sid, idx)
Get member ID by member ordinal number
get_member_cmt(sid, member_offset, repeatable=True)
Get comment of a member
get_member_id(sid, member_offset)
sid: structure type ID member_offset:. The offset can be any offset in the member. For example, is a member is 4 bytes long and starts at offset 2, then 2,3,4,5 denote the same structure member.
no member at the specified offset. otherwise returns the member id.
get_member_name(sid, member_offset)
Get name of a member of a structure
get_member_offset(sid, member_name)
Get offset of a member of a structure by the member name
get_member_qty(sid)
Get number of members of a structure
get_member_size(sid, member_offset)
Get size of a member
get_member_strid(sid, member_offset)
Get structure id of a member
get_min_spd_ea(func_ea)
Return the address with the minimal spd (stack pointer delta) If there are no SP change points, then return BADADDR.
get_module_name(base)
Get process module name
get_module_size(base)
Get process module size
get_name(ea, gtn_flags=0)
Get name at the specified address
get_name_ea_simple(name)
Get linear address of a name
get_next_bmask(enum_id, bmask)
Get next bitmask in the enum
get_next_enum_member(enum_id, value, bmask=-1)
Get next constant in the enum
get_next_fchunk(ea)
Get next function chunk
get_next_func(ea)
Find next function
get_next_hash_key(hash_id, key)
Get the next key in the hash.
get_next_index(tag, array_id, idx)
Get index of the next existing array element.
get_next_module(base)
Enumerate process modules
get_next_seg(ea)
Get next segment
get_numbered_type_name(ordinal)
Retrieve a local type name
returns: local type name or None
get_operand_type(ea, n)
Get type of instruction operand
get_operand_value(ea, n)
Get number used in the operand
This function returns an immediate number used in the operand
get_ordinal_limit()
Get number of local types + 1
get_prev_bmask(enum_id, bmask)
Get prev bitmask in the enum
get_prev_enum_member(enum_id, value, bmask=-1)
Get prev constant in the enum
get_prev_fchunk(ea)
Get previous function chunk
get_prev_func(ea)
Find previous function
get_prev_hash_key(hash_id, key)
Get the previous key in the hash.
get_prev_index(tag, array_id, idx)
Get index of the previous existing array element.
get_processor_name()
Get name of the current processor return: processor name
get_segm_attr(segea, attr)
Get segment attribute
get_segm_by_sel(base)
Get segment by segment base
get_segm_end(ea)
Get end address of a segment
get_segm_name(ea)
Get name of a segment
get_segm_start(ea)
Get start address of a segment
get_sp_delta(ea)
Get modification of SP made by the instruction
get_spd(ea)
Get current delta for the stack pointer
get_sreg(ea, reg)
Get value of segment register at the specified address
get_str_type(ea)
Get string type
get_strlit_contents(ea, length=-1, strtype=0)
Get string contents ea: linear address length: string length. -1 means to calculate the max string length strtype: the string type (one of STRTYPE_... constants)
get_struc_cmt(tid)
get_struc_id(name)
get_struc_name(tid)
get_struc_size(tid)
get_tinfo(ea)
Get type information of function/variable as 'typeinfo' object
get_type(ea)
Get type of function/variable
get_xref_type()
Return type of the last xref obtained by [RD]first/next[B0] functions.
guess_type(ea)
Guess type of function/variable
hasName(F)
hasUserName(F)
has_value(F)
here()
idadir()
Get IDA directory
This function returns the directory where IDA.EXE resides
import_type(idx, type_name)
Copy information from type library to database Copy structure, union, or enum definition from the type library to the IDA database.
isBin0(F)
isBin1(F)
isDec0(F)
isDec1(F)
isExtra(F)
isHex0(F)
isHex1(F)
isOct0(F)
isOct1(F)
isRef(F)
is_align(F)
is_bf(enum_id)
Is enum a bitmask ?
is_byte(F)
is_char0(F)
is_char1(F)
is_code(F)
is_data(F)
is_defarg0(F)
is_defarg1(F)
is_double(F)
is_dword(F)
is_enum0(F)
is_enum1(F)
is_event_handled()
Is the debug event handled?
is_float(F)
is_flow(F)
is_head(F)
is_loaded(ea)
Is the byte initialized?
is_manual0(F)
is_manual1(F)
is_mapped(ea)
is_member_id(sid)
Is a member id?
is_off0(F)
is_off1(F)
is_oword(F)
is_pack_real(F)
is_qword(F)
is_seg0(F)
is_seg1(F)
is_stkvar0(F)
is_stkvar1(F)
is_strlit(F)
is_stroff0(F)
is_stroff1(F)
is_struct(F)
is_tail(F)
is_tbyte(F)
is_union(sid)
Is a structure a union?
is_unknown(F)
is_word(F)
loadfile(filepath, pos, ea, size)
ltoa(n, radix)
make_array(ea, nitems)
Create an array.
the type of the item at 'ea'. If the byte at 'ea' is undefined, then this function will create an array of bytes.
move_segm(ea, to, flags)
Move a segment to a new address This function moves all information to the new address It fixes up address sensitive information in the kernel The total effect is equal to reloading the segment to the target address
next_func_chunk(funcea, tailea)
Get the next function chunk of the specified function
next_head(ea, maxea=18446744073709551615)
Get next defined item (instruction or data) in the program
op_offset_high16(ea, n, target)
Convert operand to a high offset High offset is the upper 16bits of an offset. This type is used by TMS320C6 processors (and probably by other RISC processors too)
op_plain_offset(ea, n, base)
Convert operand to an offset (for the explanations of 'ea' and 'n' please see op_bin())
Example:
Motorola 680x0 processor have a concept of "outer offsets". If you want to create an outer offset, you need to combine number of the operand with the following bit:
Please note that the outer offsets are meaningful only for Motorola 680x0.
op_stroff(ea, n, strid, delta)
Convert operand to an offset in a structure
parse_decl(inputtype, flags)
Parse type declaration
parse_decls(inputtype, flags=0)
Parse type declarations
plan_and_wait(sEA, eEA, final_pass=True)
Perform full analysis of the range
prev_head(ea, minea=0)
Get previous defined item (instruction or data) in the program
print_decls(ordinals, flags)
Print types in a format suitable for use in a header file
print_insn_mnem(ea)
Get instruction mnemonics
as you see on the screen.
print_operand(ea, n)
Get operand of an instruction or data
process_config_line(directive)
Obsolete. Please use ida_idp.process_config_directive().
process_ui_action(name, flags=0)
Invokes an IDA UI action by name
qsleep(milliseconds)
qsleep the specified number of milliseconds This function suspends IDA for the specified amount of time
read_dbg_byte(ea)
Get value of program byte using the debugger memory
read_dbg_dword(ea)
Get value of program double-word using the debugger memory
read_dbg_qword(ea)
Get value of program quadro-word using the debugger memory
read_dbg_word(ea)
Get value of program word using the debugger memory
read_selection_end()
Get end address of the selected range
read_selection_start()
Get start address of the selected range returns BADADDR - the user has not selected an range
readlong(handle, mostfirst)
readshort(handle, mostfirst)
readstr(handle)
remove_fchunk(funcea, tailea)
Remove a function chunk from the function
rename_array(array_id, newname)
Rename array, by its ID.
resume_process()
rotate_byte(x, count)
rotate_dword(x, count)
rotate_left(value, count, nbits, offset)
Rotate a value to the left (or right)
rotate_word(x, count)
save_database(idbname, flags=0)
Save current database to the specified idb file
savefile(filepath, pos, ea, size)
sel2para(sel)
Get a selector value
selector_by_name(segname)
Get segment selector by name
send_dbg_command(cmd)
Sends a command to the debugger module and returns the output string. An exception will be raised if the debugger is not running or the current debugger does not export the 'send_dbg_command' IDC command.
set_array_long(array_id, idx, value)
Sets the long value of an array element.
set_array_params(ea, flags, litems, align)
Set array representation format
set_array_string(array_id, idx, value)
Sets the string value of an array element.
set_bmask_cmt(enum_id, bmask, cmt, repeatable)
Set bitmask comment (only for bitfields)
repeatable - is not used anymore
set_bmask_name(enum_id, bmask, name)
Set bitmask name (only for bitfields)
set_bpt_attr(address, bptattr, value)
modifiable characteristics of a breakpoint
set_bpt_cond(ea, cnd, is_lowcnd=0)
Set breakpoint condition
set_color(ea, what, color)
Set item color
set_default_sreg_value(ea, reg, value)
Set default segment register value for a segment
set_enum_bf(enum_id, bf)
Set or clear the 'bitmask' attribute of an enum
set_enum_cmt(enum_id, cmt, repeatable)
Set comment for enum type
set_enum_flag(enum_id, flag)
Set enum constant representation flags
set_enum_member_cmt(const_id, cmt, repeatable=False)
Set comment for enum member
set_enum_member_name(const_id, name)
Set name of enum member
set_enum_name(enum_id, name)
Set name of enum type
set_enum_width(enum_id, nbytes)
Set the width of enum base type
set_fchunk_attr(ea, attr, value)
Set a function chunk attribute
set_fixup(ea, fixuptype, fixupflags, targetsel, targetoff, displ)
Set fixup information
set_flag(off, bit, value)
set_frame_size(ea, lvsize, frregs, argsize)
Make function frame
set_func_attr(ea, attr, value)
Set a function attribute
set_func_cmt(ea, cmt, repeatable)
Set function comment
set_func_flags(ea, flags)
Change function flags
set_hash_long(hash_id, key, value)
Sets the long value of a hash element.
set_hash_string(hash_id, key, value)
Sets the string value of a hash element.
set_inf_attr(attr, value)
Deprecated. Please ida_ida.inf_set_* instead.
set_local_type(ordinal, input, flags)
Parse one type declaration and store it in the specified slot
set_member_cmt(sid, member_offset, comment, repeatable)
Change structure member comment
set_member_name(sid, member_offset, name)
Change structure member name
set_member_type(sid, member_offset, flag, typeid, nitems, target=-1, tdelta=0, reftype=2)
Change structure member type
set_name(ea, name, flags=0)
Rename an address
set_reg_value(value, name)
Set register value
set_segm_addressing(ea, bitness)
Change segment addressing
set_segm_alignment(ea, alignment)
Change alignment of the segment
set_segm_attr(segea, attr, value)
Set segment attribute
set_segm_class(ea, segclass)
Change class of the segment
set_segm_combination(segea, comb)
Change combination of the segment
set_segm_name(ea, name)
Change name of the segment
set_segm_type(segea, segtype)
Set segment type
set_segment_bounds(ea, startea, endea, flags)
Change segment boundaries
set_struc_cmt(sid, cmt, repeatable=True)
set_struc_name(sid, name)
set_tail_owner(tailea, funcea)
Change the function chunk owner
sizeof(typestr)
Returns the size of the type. It is equivalent to IDC's sizeof(). typestr: can be specified as a typeinfo tuple (e.g. the result of get_tinfo()), serialized type byte string, or a string with C declaration (e.g. "int") return: -1 if typestring is not valid or has no size. otherwise size of the type
split_sreg_range(ea, reg, value, tag=2)
Set value of a segment register.
strlen(s)
strstr(s1, s2)
substr(s, x1, x2)
to_ea(seg, off)
Return value of expression: ((seg<<4) + off)
toggle_bnot(ea, n)
Toggle the bitwise not operator for the operand
update_hidden_range(ea, visible)
Set hidden range state
validate_idb_names(do_repair=0)
check consistency of IDB name records do_repair: try to repair netnode header it TRUE return: number of inconsistent name records
value_is_float(var)
value_is_func(var)
value_is_int64(var)
value_is_long(var)
value_is_pvoid(var)
value_is_string(var)
write_dbg_memory(ea, data)
Write to debugger memory.
Thread-safe function (may be called only from the main thread and debthread)
writelong(handle, dword, mostfirst)
writeshort(handle, word, mostfirst)
writestr(handle, s)
xtol(s)
Classes
DeprecatedIDCError(*args, **kwargs)
: Exception for deprecated function calls
Ancestors (in MRO)
Last updated