IDAPython 9.0
Loading...
Searching...
No Matches
Appcall_callable__ Class Reference
Inheritance diagram for Appcall_callable__:

Public Member Functions

 __init__ (self, ea, tinfo_or_typestr=None, fields=None)
 
 __call__ (self, *args)
 
 retrieve (self, src=None, flags=0)
 
 store (self, obj, dest_ea=None, base_ea=0, flags=0)
 

Public Attributes

int timeout = Appcall__.APPCALL_TIMEOUT | self.timeout << 16
 

Properties

 timeout = property(__get_timeout, __set_timeout)
 
 options = property(__get_options, __set_options)
 
 ea = property(__get_ea, __set_ea)
 
 tif = property(__get_tif)
 
 size = property(__get_size)
 
 type = property(__get_type)
 
 fields = property(__get_fields)
 

Detailed Description

Helper class to issue appcalls using a natural syntax:
  appcall.FunctionNameInTheDatabase(arguments, ....)
or
  appcall["Function@8"](arguments, ...)
or
  f8 = appcall["Function@8"]
  f8(arg1, arg2, ...)
or
  o = appcall.obj()
  i = byref(5)
  appcall.funcname(arg1, i, "hello", o)

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
ea,
tinfo_or_typestr = None,
fields = None )
Initializes an appcall with a given function ea

Member Function Documentation

◆ __call__()

__call__ ( self,
* args )
Make object callable. We redirect execution to idaapi.appcall()

◆ retrieve()

retrieve ( self,
src = None,
flags = 0 )
Unpacks a typed object from the database if an ea is given or from a string if a string was passed
@param src: the address of the object or a string
@return: Returns a tuple of boolean and object or error number (Bool, Error | Object).

◆ store()

store ( self,
obj,
dest_ea = None,
base_ea = 0,
flags = 0 )
Packs an object into a given ea if provided or into a string if no address was passed.
@param obj: The object to pack
@param dest_ea: If packing to idb this will be the store location
@param base_ea: If packing to a buffer, this will be the base that will be used to relocate the pointers

@return:
    - If packing to a string then a Tuple(Boolean, packed_string or error code)
    - If packing to the database then a return code is returned (0 is success)

Member Data Documentation

◆ timeout

int timeout = Appcall__.APPCALL_TIMEOUT | self.timeout << 16

Property Documentation

◆ ea

ea = property(__get_ea, __set_ea)
static

◆ fields

fields = property(__get_fields)
static

◆ options

options = property(__get_options, __set_options)
static

◆ size

size = property(__get_size)
static

◆ tif

tif = property(__get_tif)
static

◆ timeout

timeout = property(__get_timeout, __set_timeout)
static

◆ type

type = property(__get_type)
static

The documentation for this class was generated from the following file: