Module ida_expr
[frames] | no frames]

Module ida_expr

IDA Plugin SDK API wrapper: expr

Classes
  idc_value_t
Proxy of C++ idc_value_t class
  idc_global_t
Proxy of C++ idc_global_t class
  highlighter_cbs_t
Proxy of C++ highlighter_cbs_t class
  idc_values_t
Proxy of C++ qvector<(idc_value_t)> class
Functions
bool
compile_idc_file(nonnul_line)
bool
compile_idc_text(nonnul_line)
size_t
py_get_call_idc_func()
size_t
pyw_register_idc_func(name, args, py_fp)
bool
pyw_unregister_idc_func(ctxptr)
bool
pyw_convert_defvals(out, py_seq)
bool
py_add_idc_func(name, fp_ptr, args, defvals, flags)
bool
eval_expr(rv, where, line)
bool
eval_idc_expr(rv, where, line)
error_t
idcv_long(v)
error_t
idcv_int64(v)
error_t
idcv_num(v)
error_t
idcv_string(v)
error_t
idcv_float(v)
error_t
idcv_object(v, icls=None)
error_t
move_idcv(dst, src)
error_t
copy_idcv(dst, src)
error_t
deep_copy_idcv(dst, src)
 
free_idcv(v)
 
swap_idcvs(v1, v2)
error_t
get_idcv_class_name(obj)
error_t
get_idcv_attr(res, obj, attr, may_use_getattr=False)
error_t
set_idcv_attr(obj, attr, value, may_use_setattr=False)
error_t
del_idcv_attr(obj, attr)
char const *
first_idcv_attr(obj)
char const *
last_idcv_attr(obj)
char const *
next_idcv_attr(obj, attr)
char const *
prev_idcv_attr(obj, attr)
bool
print_idcv(v, name=None, indent=0)
error_t
get_idcv_slice(res, v, i1, i2, flags=0)
error_t
set_idcv_slice(v, i1, i2, _in, flags=0)
idc_class_t *
add_idc_class(name, super=None)
idc_class_t *
find_idc_class(name)
idc_value_t
deref_idcv(v, vref_flags)
bool
create_idcv_ref(ref, v)
idc_value_t
add_idc_gvar(name)
idc_value_t
find_idc_gvar(name)
bool
find_idc_func(prefix, n=0)
bool
set_header_path(path, add)
char *
get_idc_filename(file)
bool
exec_system_script(file, complain_if_no_file=True)
bool
compile_idc_snippet(func, text, resolver=None, only_safe_funcs=False)
bool
exec_idc_script(result, path, func, args, argsnum)
 
del_idc_func(name)
Unregisters the specified IDC function
 
add_idc_func(name, fp, args, defvals=None, flags=0)
Extends the IDC language by exposing a new IDC function that is backed up by a Python function
Variables
  IDC_LANG_EXT = 'idc'
  VARSLICE_SINGLE = 1
  VREF_LOOP = 0
  VREF_ONCE = 1
  VREF_COPY = 2
  VT_LONG = 2
  VT_FLOAT = 3
  VT_WILD = 4
  VT_OBJ = 5
  VT_FUNC = 6
  VT_STR = 7
  VT_PVOID = 8
  VT_INT64 = 9
  VT_REF = 10
  eExecThrow = 90
  HF_DEFAULT = 0
  HF_KEYWORD1 = 1
  HF_KEYWORD2 = 2
  HF_KEYWORD3 = 3
  HF_STRING = 4
  HF_COMMENT = 5
  HF_PREPROC = 6
  HF_NUMBER = 7
  HF_MAX = 8
  CPL_DEL_MACROS = 1
  CPL_USE_LABELS = 2
  CPL_ONLY_SAFE = 4
  call_idc_func__ = <CFunctionType object at 0x7f966804c2c0>
  EXTFUN_BASE = 1
requires open database
  EXTFUN_NORET = 2
does not return.
  EXTFUN_SAFE = 4
thread safe function.
  __package__ = None
Function Details

del_idc_func(name)

 

Unregisters the specified IDC function

Parameters:
  • name - IDC function name to unregister
Returns:
Boolean

add_idc_func(name, fp, args, defvals=None, flags=0)

 

Extends the IDC language by exposing a new IDC function that is backed up by a Python function

Parameters:
  • name - IDC function name to expose
  • fp - Python callable that will receive the arguments and return a tuple.
  • args - Arguments. A tuple of idaapi.VT_XXX constants
  • flags - IDC function flags. A combination of EXTFUN_XXX constants
Returns:
Boolean

Variables Details

EXTFUN_NORET

does not return. the interpreter may clean up its state before calling it.

Value:
2

EXTFUN_SAFE

thread safe function. may be called

Value:
4