Fix eval() lambda

pull/104/head
Zach Riggle 9 years ago
parent 4f85ae6557
commit 40c2819730

@ -59,7 +59,7 @@ server = SimpleXMLRPCServer(('127.0.0.1', port), logRequests=True, allow_none=Tr
register_module(idc)
register_module(idautils)
register_module(idaapi)
server.register_function(lambda a: eval(*a, globals(), locals()), 'eval')
server.register_function(lambda a: eval(a, globals(), locals()), 'eval')
server.register_introspection_functions()
thread = threading.Thread(target=server.serve_forever)

@ -10,6 +10,7 @@ from __future__ import unicode_literals
import errno
import functools
import inspect
import os
import socket
import traceback
@ -91,6 +92,13 @@ def r2l(addr):
result = (addr - base() + int(exe.address)) & pwndbg.arch.ptrmask
return result
def remote(function):
"""Runs the provided function in IDA's interpreter.
The function must be self-contained and not reference any
global variables."""
@pwndbg.memoize.reset_on_objfile
def base():
segaddr = _ida.NextSeg(0)
@ -186,7 +194,7 @@ def UpdateBreakpoints():
if not pwndbg.memory.peek(bp):
continue
bp = gdb.Breakpoint('*' + hex(bp))
bp = gdb.Breakpoint('*' + hex(int(bp)))
_breakpoints.append(bp)
# print(_breakpoints)

Loading…
Cancel
Save