version command: show IDA Pro versions (#456)

pull/457/head
Disconnect3d 8 years ago committed by GitHub
parent 9cb502277e
commit fca00ecb76
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -115,12 +115,23 @@ def decompile(addr):
return None
def versions():
"""Returns IDA & Python versions"""
import sys
return {
'python': sys.version,
'ida': idaapi.get_kernel_version(),
'hexrays': idaapi.get_hexrays_version() if 'get_hexrays_version' in dir(idaapi) else None
}
server = SimpleXMLRPCServer((host, port), logRequests=True, allow_none=True)
register_module(idc)
register_module(idautils)
register_module(idaapi)
server.register_function(lambda a: eval(a, globals(), locals()), 'eval')
server.register_function(decompile) # overwrites idaapi/ida_hexrays.decompie
server.register_function(versions)
server.register_introspection_functions()
print('IDA Pro xmlrpc hosted on http://%s:%s' % (host, port))

@ -15,6 +15,7 @@ import gdb
import pwndbg
import pwndbg.commands
import pwndbg.ida
from pwndbg.color import message
@ -54,4 +55,14 @@ def version():
capstone_str = 'Capstone: %s' % capstone_version()
unicorn_str = 'Unicorn: %s' % unicorn_version()
print('\n'.join(map(message.system, (gdb_str, py_str, pwndbg_str, capstone_str, unicorn_str))))
all_versions = (gdb_str, py_str, pwndbg_str, capstone_str, unicorn_str)
ida_versions = pwndbg.ida.get_ida_versions()
if ida_versions is not None:
ida_version = 'IDA PRO: %s' % ida_versions['ida']
ida_py_ver = 'IDA Py: %s' % ida_versions['python']
ida_hr_ver = 'Hexrays: %s' % ida_versions['hexrays']
all_versions += (ida_version, ida_py_ver, ida_hr_ver)
print('\n'.join(map(message.system, all_versions)))

@ -391,6 +391,12 @@ def decompile(addr):
return _ida.decompile(addr)
@withIDA
@pwndbg.memoize.forever
def get_ida_versions():
return _ida.versions()
@withIDA
@pwndbg.memoize.reset_on_stop
def GetStrucQty():

Loading…
Cancel
Save