如何按地址在共享库中设置断点?让我们说我反汇编一个库并找到一个我想要破解的指令,但该指令与标签无关:
$ objdump -d libFoo.so
...
bc29a: 48 89 f5 mov %rsi,%rbp
...
加载库后,将ELF文件地址(bc29a)转换为正确的虚拟地址的最佳方法是什么?如何将这些信息传达给GDB?
感谢您的帮助。
答案 0 :(得分:2)
也许最简单的方法是“设置stop-on-solib-events 1”。这将导致gdb在加载或卸载共享库时停止。当它加载你想要的库时,你将能够设置一个断点。
然后,您可以使用“info shared”查看每个库的偏移量。我忘记了这是否是文本部分的偏移量;所以你可能需要尝试一下。