IDAPython 9.0
|
This is the first header included in the IDA project. It defines the most common types, functions and data. Also, it tries to make system dependent definitions. The following preprocessor macros are used in the project (the list may be incomplete) Platform must be specified as one of: __NT__ - MS Windows (all platforms) __LINUX__ - Linux __MAC__ - MAC OS X __EA64__ - 64-bit address size (sizeof(ea_t)==8) __X86__ - 32-bit debug servers (sizeof(void*)==4) __X64__ - x64 processor (sizeof(void*)==8) default __PPC__ - PowerPC __ARM__ - ARM
Classes | |
class | _qstrvec_t |
class | adiff_pointer |
class | asize_pointer |
class | bool_pointer |
class | boolvec_t |
class | channel_redir_t |
class | char_pointer |
class | ea32_pointer |
class | ea64_pointer |
class | ea_array |
class | ea_pointer |
class | flags64_pointer |
class | flags_pointer |
class | instant_dbgopts_t |
class | int16_pointer |
class | int32_pointer |
class | int64_pointer |
class | int64vec_t |
class | int8_pointer |
class | int_pointer |
class | intvec_t |
class | plugin_options_t |
class | qmutex_locker_t |
class | qrefcnt_obj_t |
class | sel_array |
class | sel_pointer |
class | short_pointer |
class | sint8_pointer |
class | sizevec_t |
class | ssize_pointer |
class | strvec_t |
class | sval_pointer |
class | tid_array |
class | tid_pointer |
class | uchar_array |
class | uchar_pointer |
class | uint16_pointer |
class | uint32_pointer |
class | uint64_pointer |
class | uint64vec_t |
class | uint8_pointer |
class | uint_pointer |
class | uintvec_t |
class | ushort_pointer |
class | uval_array |
class | uval_pointer |
Functions | |
'int64' | qatoll (str nptr) |
None | qexit (int code) |
int | log2ceil ('uint64' d64) |
int | log2floor ('uint64' d64) |
'uint64' | extend_sign ('uint64' v, int nbytes, bool sign_extend) |
int | readbytes (int h, 'uint32 *' res, int size, bool mf) |
int | writebytes (int h, int l, int size, bool mf) |
None | reloc_value ('void *' value, int size, 'adiff_t' delta, bool mf) |
'void *' | qvector_reserve ('void *' vec, 'void *' old, 'size_t' cnt, 'size_t' elsize) |
bool | relocate_relobj ('relobj_t *' _relobj, ida_idaapi.ea_t ea, bool mf) |
bool | is_cvt64 () |
bool | quote_cmdline_arg (str arg) |
bool | parse_dbgopts ('instant_dbgopts_t' ido, str r_switch) |
int | check_process_exit ('void *' handle, 'int *' exit_code, int msecs=-1) |
'enum tty_control_t' | is_control_tty (int fd) |
None | qdetach_tty () |
None | qcontrol_tty () |
bool | qthread_equal ('__qthread_t' q1, '__qthread_t' q2) |
bool | is_main_thread () |
str | get_login_name () |
int | get_physical_core_count () |
int | get_logical_core_count () |
int | get_available_core_count () |
'PyObject *' | qstrvec_t_create () |
bool | qstrvec_t_destroy ('PyObject *' py_obj) |
'qstrvec_t *' | qstrvec_t_get_clink ('PyObject *' _self) |
'PyObject *' | qstrvec_t_get_clink_ptr ('PyObject *' _self) |
bool | qstrvec_t_assign ('PyObject *' _self, 'PyObject *' other) |
'PyObject *' | qstrvec_t_addressof ('PyObject *' _self, 'size_t' idx) |
bool | qstrvec_t_set ('PyObject *' _self, 'size_t' idx, str s) |
bool | qstrvec_t_from_list ('PyObject *' _self, 'PyObject *' py_list) |
'size_t' | qstrvec_t_size ('PyObject *' _self) |
'PyObject *' | qstrvec_t_get ('PyObject *' _self, 'size_t' idx) |
bool | qstrvec_t_add ('PyObject *' _self, str s) |
bool | qstrvec_t_clear ('PyObject *' _self, bool qclear) |
bool | qstrvec_t_insert ('PyObject *' _self, 'size_t' idx, str s) |
bool | qstrvec_t_remove ('PyObject *' _self, 'size_t' idx) |
str2user (str) | |
Variables | |
BADDIFF = _ida_pro.BADDIFF | |
IDA_SDK_VERSION = _ida_pro.IDA_SDK_VERSION | |
BADMEMSIZE = _ida_pro.BADMEMSIZE | |
_CRT_DECLARE_NONSTDC_NAMES = _ida_pro._CRT_DECLARE_NONSTDC_NAMES | |
MAXSTR = _ida_pro.MAXSTR | |
FMT_64 = _ida_pro.FMT_64 | |
FMT_Z = _ida_pro.FMT_Z | |
FMT_ZX = _ida_pro.FMT_ZX | |
FMT_ZS = _ida_pro.FMT_ZS | |
FMT_EA = _ida_pro.FMT_EA | |
IDBDEC_ESCAPE = _ida_pro.IDBDEC_ESCAPE | |
CP_BOM = _ida_pro.CP_BOM | |
UTF8_BOM = _ida_pro.UTF8_BOM | |
UTF16LE_BOM = _ida_pro.UTF16LE_BOM | |
UTF16BE_BOM = _ida_pro.UTF16BE_BOM | |
UTF32LE_BOM = _ida_pro.UTF32LE_BOM | |
UTF32BE_BOM = _ida_pro.UTF32BE_BOM | |
CP_ELLIPSIS = _ida_pro.CP_ELLIPSIS | |
UTF8_ELLIPSIS = _ida_pro.UTF8_ELLIPSIS | |
CP_REPLCHAR = _ida_pro.CP_REPLCHAR | |
UTF8_REPLCHAR = _ida_pro.UTF8_REPLCHAR | |
MAX_UTF8_SEQ_LEN = _ida_pro.MAX_UTF8_SEQ_LEN | |
CEF_RETERR = _ida_pro.CEF_RETERR | |
ENC_WIN1252 = _ida_pro.ENC_WIN1252 | |
ENC_UTF8 = _ida_pro.ENC_UTF8 | |
ENC_MUTF8 = _ida_pro.ENC_MUTF8 | |
ENC_UTF16 = _ida_pro.ENC_UTF16 | |
ENC_UTF16LE = _ida_pro.ENC_UTF16LE | |
ENC_UTF16BE = _ida_pro.ENC_UTF16BE | |
ENC_UTF32 = _ida_pro.ENC_UTF32 | |
ENC_UTF32LE = _ida_pro.ENC_UTF32LE | |
ENC_UTF32BE = _ida_pro.ENC_UTF32BE | |
CP_UTF8 = _ida_pro.CP_UTF8 | |
CP_UTF16 = _ida_pro.CP_UTF16 | |
SUBSTCHAR = _ida_pro.SUBSTCHAR | |
IOREDIR_INPUT = _ida_pro.IOREDIR_INPUT | |
IOREDIR_OUTPUT = _ida_pro.IOREDIR_OUTPUT | |
IOREDIR_APPEND = _ida_pro.IOREDIR_APPEND | |
IOREDIR_QUOTED = _ida_pro.IOREDIR_QUOTED | |
QWCONTINUED = _ida_pro.QWCONTINUED | |
QWNOHANG = _ida_pro.QWNOHANG | |
TCT_UNKNOWN = _ida_pro.TCT_UNKNOWN | |
TCT_OWNER = _ida_pro.TCT_OWNER | |
TCT_NOT_OWNER = _ida_pro.TCT_NOT_OWNER | |
cvar = _ida_pro.cvar | |
NULL_PIPE_HANDLE = cvar.NULL_PIPE_HANDLE | |
longlongvec_t = int64vec_t | |
ulonglongvec_t = uint64vec_t | |
svalvec_t = int64vec_t | |
uvalvec_t = uint64vec_t | |
eavec_t = uvalvec_t | |
int check_process_exit | ( | 'void *' | handle, |
'int *' | exit_code, | ||
int | msecs = -1 ) |
Check whether process has terminated or not. @param handle: process handle to wait for @param exit_code: pointer to the buffer for the exit code @retval 0: process has exited, and the exit code is available. if *exit_code < 0: the process was killed with a signal -*exit_code @retval 1: process has not exited yet @retval -1: error happened, see error code for winerr() in *exit_code
'uint64' extend_sign | ( | 'uint64' | v, |
int | nbytes, | ||
bool | sign_extend ) |
Sign-, or zero-extend the value 'v' to occupy 64 bits. The value 'v' is considered to be of size 'nbytes'.
int get_available_core_count | ( | ) |
Get the number of logical CPU cores available to the current process if supported by the OS. @returns the logical core count available for the process, or -1 on error
int get_logical_core_count | ( | ) |
Get the total CPU logical core count @returns the logical core count, or -1 on error
str get_login_name | ( | ) |
Get the user name for the current desktop session @returns success
int get_physical_core_count | ( | ) |
Get the total CPU physical core count @returns the physical core count, or -1 on error
'enum tty_control_t' is_control_tty | ( | int | fd | ) |
Check if the current process is the owner of the TTY specified by 'fd' (typically an opened descriptor to /dev/tty).
bool is_cvt64 | ( | ) |
is IDA converting IDB into I64?
bool is_main_thread | ( | ) |
Are we running in the main thread?
int log2ceil | ( | 'uint64' | d64 | ) |
calculate ceil(log2(d64)) or floor(log2(d64)), it returns 0 if d64 == 0
int log2floor | ( | 'uint64' | d64 | ) |
bool parse_dbgopts | ( | 'instant_dbgopts_t' | ido, |
str | r_switch ) |
Parse the -r command line switch (for instant debugging). r_switch points to the value of the -r switch. Example: win32@localhost+ @returns true-ok, false-parse error
'int64' qatoll | ( | str | nptr | ) |
None qcontrol_tty | ( | ) |
Make the current terminal the controlling terminal of the calling process.
None qdetach_tty | ( | ) |
If the current terminal is the controlling terminal of the calling process, give up this controlling terminal.
None qexit | ( | int | code | ) |
Call qatexit functions, shut down UI and kernel, and exit. @param code: exit code
bool qstrvec_t_add | ( | 'PyObject *' | _self, |
str | s ) |
'PyObject *' qstrvec_t_addressof | ( | 'PyObject *' | _self, |
'size_t' | idx ) |
bool qstrvec_t_assign | ( | 'PyObject *' | _self, |
'PyObject *' | other ) |
bool qstrvec_t_clear | ( | 'PyObject *' | _self, |
bool | qclear ) |
'PyObject *' qstrvec_t_create | ( | ) |
bool qstrvec_t_destroy | ( | 'PyObject *' | py_obj | ) |
bool qstrvec_t_from_list | ( | 'PyObject *' | _self, |
'PyObject *' | py_list ) |
'PyObject *' qstrvec_t_get | ( | 'PyObject *' | _self, |
'size_t' | idx ) |
'qstrvec_t *' qstrvec_t_get_clink | ( | 'PyObject *' | _self | ) |
'PyObject *' qstrvec_t_get_clink_ptr | ( | 'PyObject *' | _self | ) |
bool qstrvec_t_insert | ( | 'PyObject *' | _self, |
'size_t' | idx, | ||
str | s ) |
bool qstrvec_t_remove | ( | 'PyObject *' | _self, |
'size_t' | idx ) |
bool qstrvec_t_set | ( | 'PyObject *' | _self, |
'size_t' | idx, | ||
str | s ) |
'size_t' qstrvec_t_size | ( | 'PyObject *' | _self | ) |
bool qthread_equal | ( | '__qthread_t' | q1, |
'__qthread_t' | q2 ) |
Are two threads equal?
bool quote_cmdline_arg | ( | str | arg | ) |
Quote a command line argument if it contains escape characters. For example, *.c will be converted into "*.c" because * may be inadvertently expanded by the shell @returns true: modified 'arg'
'void *' qvector_reserve | ( | 'void *' | vec, |
'void *' | old, | ||
'size_t' | cnt, | ||
'size_t' | elsize ) |
Change capacity of given qvector. @param vec: a pointer to a qvector @param old: a pointer to the qvector's array @param cnt: number of elements to reserve @param elsize: size of each element @returns a pointer to the newly allocated array
int readbytes | ( | int | h, |
'uint32 *' | res, | ||
int | size, | ||
bool | mf ) |
Read at most 4 bytes from file. @param h: file handle @param res: value read from file @param size: size of value in bytes (1,2,4) @param mf: is MSB first? @returns 0 on success, nonzero otherwise
None reloc_value | ( | 'void *' | value, |
int | size, | ||
'adiff_t' | delta, | ||
bool | mf ) |
bool relocate_relobj | ( | 'relobj_t *' | _relobj, |
ida_idaapi.ea_t | ea, | ||
bool | mf ) |
str2user | ( | str | ) |
Insert C-style escape characters to string @param str: the input string @return: new string with escape characters inserted, or None
int writebytes | ( | int | h, |
int | l, | ||
int | size, | ||
bool | mf ) |
Write at most 4 bytes to file. @param h: file handle @param l: value to write @param size: size of value in bytes (1,2,4) @param mf: is MSB first? @returns 0 on success, nonzero otherwise
|
protected |
BADDIFF = _ida_pro.BADDIFF |
BADMEMSIZE = _ida_pro.BADMEMSIZE |
CEF_RETERR = _ida_pro.CEF_RETERR |
CP_BOM = _ida_pro.CP_BOM |
CP_ELLIPSIS = _ida_pro.CP_ELLIPSIS |
CP_REPLCHAR = _ida_pro.CP_REPLCHAR |
CP_UTF16 = _ida_pro.CP_UTF16 |
CP_UTF8 = _ida_pro.CP_UTF8 |
cvar = _ida_pro.cvar |
eavec_t = uvalvec_t |
ENC_MUTF8 = _ida_pro.ENC_MUTF8 |
ENC_UTF16 = _ida_pro.ENC_UTF16 |
ENC_UTF16BE = _ida_pro.ENC_UTF16BE |
ENC_UTF16LE = _ida_pro.ENC_UTF16LE |
ENC_UTF32 = _ida_pro.ENC_UTF32 |
ENC_UTF32BE = _ida_pro.ENC_UTF32BE |
ENC_UTF32LE = _ida_pro.ENC_UTF32LE |
ENC_UTF8 = _ida_pro.ENC_UTF8 |
ENC_WIN1252 = _ida_pro.ENC_WIN1252 |
FMT_64 = _ida_pro.FMT_64 |
FMT_EA = _ida_pro.FMT_EA |
FMT_Z = _ida_pro.FMT_Z |
FMT_ZS = _ida_pro.FMT_ZS |
FMT_ZX = _ida_pro.FMT_ZX |
IDA_SDK_VERSION = _ida_pro.IDA_SDK_VERSION |
IDBDEC_ESCAPE = _ida_pro.IDBDEC_ESCAPE |
IOREDIR_APPEND = _ida_pro.IOREDIR_APPEND |
IOREDIR_INPUT = _ida_pro.IOREDIR_INPUT |
IOREDIR_OUTPUT = _ida_pro.IOREDIR_OUTPUT |
IOREDIR_QUOTED = _ida_pro.IOREDIR_QUOTED |
longlongvec_t = int64vec_t |
MAX_UTF8_SEQ_LEN = _ida_pro.MAX_UTF8_SEQ_LEN |
MAXSTR = _ida_pro.MAXSTR |
NULL_PIPE_HANDLE = cvar.NULL_PIPE_HANDLE |
QWCONTINUED = _ida_pro.QWCONTINUED |
QWNOHANG = _ida_pro.QWNOHANG |
SUBSTCHAR = _ida_pro.SUBSTCHAR |
svalvec_t = int64vec_t |
TCT_NOT_OWNER = _ida_pro.TCT_NOT_OWNER |
TCT_OWNER = _ida_pro.TCT_OWNER |
TCT_UNKNOWN = _ida_pro.TCT_UNKNOWN |
ulonglongvec_t = uint64vec_t |
UTF16BE_BOM = _ida_pro.UTF16BE_BOM |
UTF16LE_BOM = _ida_pro.UTF16LE_BOM |
UTF32BE_BOM = _ida_pro.UTF32BE_BOM |
UTF32LE_BOM = _ida_pro.UTF32LE_BOM |
UTF8_BOM = _ida_pro.UTF8_BOM |
UTF8_ELLIPSIS = _ida_pro.UTF8_ELLIPSIS |
UTF8_REPLCHAR = _ida_pro.UTF8_REPLCHAR |
uvalvec_t = uint64vec_t |