我正在尝试分析和反转我拥有的 Objective-C 程序。
我通过手动更改一些操作码对可执行文件进行了一些修改。但是,当我测试修改后的软件时,我得到
击杀:9
没关系,我想我碰了一些我不应该碰的东西。然后我启动gdb myprogram
以分析错误。这里发生了一些事情(对我来说很奇怪):如果我没有放置任何断点,程序会收到 SIGKILL,而如果我尝试在收到信号的断点之前放置几行断点,似乎什么也没发生,程序似乎可以工作美好的。
从这里我的问题是:断点会改变程序流程吗?
如果答案是否定的,那么我想我写的信息不足以解决所以请询问,如果您有一些提示或建议可以为我指明正确的方向,我将不胜感激。
我正在使用 MacOS 10.7.4 和gdb 6.3.50 (Apple version gdb-1752)
. 假设我无权访问源代码。