免疫调试器 Python API 代码执行顺序不正确

逆向工程 Python 免疫调试器
2021-06-22 03:40:56

命令行

   import immlib
    def main(args):
        imm = immlib.Debugger()
        imm.setBreakpoint(0x411077)
        imm.setReg("EAX",0x0)
        imm.log("EAX: {}".format(imm.getRegs()['EAX']))
        imm.run()

    return "OK"

日志

EAX: 0
Breakpoint at 0x411077
OK

日志写入发生在setBreakpoint()根据日志之前

问题是什么?

1个回答

看起来“Breakpoint at”的意思是“断点被击中”,而不是“断点被设置”。

断点只能在程序运行时触发由于您调用log()before run(),因此首先打印日志消息。如果你想在断点被击中时记录,你需要使用另一种方法(不熟悉 ImmDbg API,所以不能推荐任何特定的东西)。