如何使用 GDB 执行 SIGTRAP 仿真?

逆向工程 拆卸 数据库
2021-06-26 10:51:44

我想分析一个crackme 文件。

当我用 来打开它时gdb,我首先用它来设置它的SIGTRAP处理程序,例如int80.SIGTRAP处理程序地址0x8011111

catch syscall signalgdb. 而且,应用程序中有一些陷阱,一些int3交互。

0x80abcde - int3

我的gdbinit文件是这样设置的:

b * 0x80abcde
commands 1
call (void)0x8011111(5)
continue
end

这可以用于仿真还是我仍然需要将调用地址推送到堆栈上?

1个回答

您可以改用handle命令,将信号传递给应用程序。也许有类似的东西:

handle SIGTRAP nostop print pass

GDB 将:

  • 不停止SIGTRAP
  • 将其传递给应用程序
  • 告诉你什么时候收到 SIGTRAP