IDAPython 9.0
Loading...
Searching...
No Matches
idadex Namespace Reference

Classes

class  Dex
 
class  dex_field
 
class  dex_method
 
class  longname_director_t
 

Functions

 to_uint32 (v)
 
 get_struct (str_, off, struct)
 
 unpack_db (buf, off)
 
 get_dw (buf, off)
 
 unpack_dw (buf, off)
 
 unpack_dd (buf, off)
 
 unpack_dq (buf, off)
 
 unpack_ea (buf, off)
 
 unpack_eavec (buf, base_ea)
 

Variables

 uint8 = ctypes.c_ubyte
 
 char = ctypes.c_char
 
 uint32 = ctypes.c_uint
 
 uint64 = ctypes.c_uint64
 
 uint16 = ctypes.c_ushort
 
 ushort = uint16
 
int ea_t = uint64 if __EA64__ else uint32
 
_byte = ord if sys.version_info.major < 3 else lambda t
 
 dex = Dex()
 
 f = idaapi.get_func(here())
 
 func_start_ea = f.start_ea
 
 methno = dex.get_method_idx(func_start_ea)
 
 func_method = dex.get_method(func_start_ea, methno)
 
str out = ""
 
 method_proto = dex.get_type_string(func_start_ea, func_method.proto_ret)
 
 method_classnm = dex.get_type_string(func_start_ea, func_method.cname)
 
 method_name = dex.get_method_name(func_start_ea, methno)
 
 maxp = min(func_method.nparams, 32)
 
 start_reg = func_method.reg_total - func_method.reg_params
 
 ptype = dex.get_type_string(func_start_ea, func_method.proto_params[i])
 
str regbuf = "v%u" % start_reg
 
 r = idaapi.find_regvar(f, f.start_ea, regbuf)
 

Function Documentation

◆ get_dw()

get_dw ( buf,
off )

◆ get_struct()

get_struct ( str_,
off,
struct )

◆ to_uint32()

to_uint32 ( v)

◆ unpack_db()

unpack_db ( buf,
off )

◆ unpack_dd()

unpack_dd ( buf,
off )

◆ unpack_dq()

unpack_dq ( buf,
off )

◆ unpack_dw()

unpack_dw ( buf,
off )

◆ unpack_ea()

unpack_ea ( buf,
off )

◆ unpack_eavec()

unpack_eavec ( buf,
base_ea )

Variable Documentation

◆ _byte

t _byte = ord if sys.version_info.major < 3 else lambda t
protected

◆ char

char = ctypes.c_char

◆ dex

dex = Dex()

◆ ea_t

int ea_t = uint64 if __EA64__ else uint32

◆ f

f = idaapi.get_func(here())

◆ func_method

func_method = dex.get_method(func_start_ea, methno)

◆ func_start_ea

func_start_ea = f.start_ea

◆ maxp

maxp = min(func_method.nparams, 32)

◆ methno

methno = dex.get_method_idx(func_start_ea)

◆ method_classnm

method_classnm = dex.get_type_string(func_start_ea, func_method.cname)

◆ method_name

method_name = dex.get_method_name(func_start_ea, methno)

◆ method_proto

method_proto = dex.get_type_string(func_start_ea, func_method.proto_ret)

◆ out

str out = ""

◆ ptype

ptype = dex.get_type_string(func_start_ea, func_method.proto_params[i])

◆ r

r = idaapi.find_regvar(f, f.start_ea, regbuf)

◆ regbuf

str regbuf = "v%u" % start_reg

◆ start_reg

start_reg = func_method.reg_total - func_method.reg_params

◆ uint16

uint16 = ctypes.c_ushort

◆ uint32

uint32 = ctypes.c_uint

◆ uint64

uint64 = ctypes.c_uint64

◆ uint8

uint8 = ctypes.c_ubyte

◆ ushort

ushort = uint16