如何在radare2的execve'd程序中设置断点?

逆向工程 调试 x86 雷达2 可执行
2021-06-15 21:41:35

如果我有一个程序 A,它execve用来运行程序 B。如果我正在调试程序 A,如何在程序 B 的主程序中设置断点?

在 execve 例程中的某个点之后,程序 B 将被加载到内存中。之后,我可以看到二进制文件中的符号以及它们已加载到的内存区域。然而,为了达到这一点,我只是逐步执行一些非常繁琐且容易出错的 execve 指令。

有没有更简单的方法呢?

1个回答

有一个调试标志称为dbg.execs将其设置为 true 应在execv发生时停止执行所以试试这个:

> e dbg.execs = true

看起来它适用于 Linux,但我无法在 OSX 上获得相同的行为。