GDB调试保护

时间:2013-05-19 20:39:52

标签: gdb

我正在尝试对cydia应用程序(二进制)进行逆向工程,并将GDB与IDA Pro一起使用。

似乎有一些调试保护,因为main()不在bt堆栈中,我无法访问任何函数,class-dump-z和IDA Pro都清楚地显示了这些函数。

BT Stack中的最后两个条目是:

_mh_execute_header<br>
_mh_execute_header<br>

这是main()应该在的地方。

有没有人见过这些?

根据我的阅读ptrace(),我不会让你附上这个过程,但这会让我感到高兴。我试图绕过sysctl(),但我不认为这种方法也被使用过。

有谁知道它还能是什么?

另外我没有源文件。

1 个答案:

答案 0 :(得分:1)

你的问题非常不清楚。你到底在问什么?

  

main()不在bt堆栈中,

这对于完全剥离的可执行文件来说非常常见。如果您运行nm a.out | grep main但未看到main,则main 无法显示在任何堆栈跟踪中。

仅凭这一点并不一定证明应用程序正在使用任何反调试技术。