Skip to content

Ida

Talks to an XMLRPC server running inside of an active IDA Pro instance, in order to query it about the database. Allows symbol resolution and interactive debugging.

P = ParamSpec('P') module-attribute

T = TypeVar('T') module-attribute

colored_pc = None module-attribute

ida_replacements = {'__int64': 'signed long long int', '__int32': 'signed int', '__int16': 'signed short', '__int8': 'signed char', '__uint64': 'unsigned long long int', '__uint32': 'unsigned int', '__uint16': 'unsigned short', '__uint8': 'unsigned char', '_BOOL_1': 'unsigned char', '_BOOL_2': 'unsigned short', '_BOOL_4': 'unsigned int', '_BYTE': 'unsigned char', '_WORD': 'unsigned short', '_DWORD': 'unsigned int', '_QWORD': 'unsigned long long', '__pure': '', '__hidden': '', '__return_ptr': '', '__struct_ptr': '', '__array_ptr': '', '__fastcall': '', '__cdecl': '', '__thiscall': '', '__userpurge': ''} module-attribute

ida_rpc_host = pwndbg.config.add_param('ida-rpc-host', '127.0.0.1', 'ida xmlrpc server address') module-attribute

ida_rpc_port = pwndbg.config.add_param('ida-rpc-port', 31337, 'ida xmlrpc server port') module-attribute

ida_timeout = pwndbg.config.add_param('ida-timeout', 2, 'time to wait for ida xmlrpc in seconds') module-attribute

idc = IDC() module-attribute

IDC

query = "{k:v for k,v in globals()['idc'].__dict__.items() if type(v) in (int,long)}" class-attribute instance-attribute

__init__()

IdaProvider

Bases: IntegrationProvider

decompile(addr, lines)

get_comment_lines(addr)

get_func_type(addr)

get_symbol(addr)

get_versions()

is_in_function(addr)

Anterior(addr)

ArgCount(address)

Auto_Color_PC()

Auto_UnColor_PC()

Comment(addr)

GetBptEA(i)

GetBptQty()

GetBreakpoints()

GetFlags(addr)

GetFuncOffset(addr)

GetFunctionName(addr)

GetIdbPath()

GetMemberFlag(sid, offset)

GetMemberId(sid, offset)

GetMemberName(sid, offset)

GetMemberQty(sid)

GetMemberSize(sid, offset)

GetStrucId(idx)

GetStrucName(sid)

GetStrucNextOff(sid, offset)

GetStrucQty()

GetStrucSize(sid)

GetType(addr)

Jump(addr)

LocByName(name)

Name(addr)

NextHead(addr)

PrevHead(addr)

SaveBase(path)

SetColor(pc, color)

UpdateBreakpoints()

available()

base()

can_connect()

decompile(addr)

decompile_context(pc, context_lines)

get_ida_versions()

has_cached_cfunc(addr)

here()

init_ida_rpc_client()

isASCII(flags)

l2r(addr)

print_member(sid, offset)

print_structs()

r2l(addr)

remote(function)

Runs the provided function in IDA's interpreter.

The function must be self-contained and not reference any global variables.

returns_address(function)

takes_address(function)

withHexrays(func)

withIDA(func)