我正在尝试逆向工程的cydia应用程序(二进制)和使用GDB与IDA Pro。
似乎有一些调试保护,因为main()不在bt堆栈中,并且我无法访问任何函数,class-dump-z和IDA Pro都清楚地显示了这些函数。
BT堆栈中的最后两个条目是:
_mh_execute_header<br>
_mh_execute_header<br>这就是main()应该在的地方。
以前有没有人见过这些?
根据我所读到的内容,ptrace()不会让你附加这个进程,但这个可以让我。我试图绕过sysctl(),但我认为这种方法也没有被使用过。
有谁知道它还可能是什么吗?
另外,我没有源文件。
发布于 2013-05-20 04:51:15
你的问题非常不清楚。你到底在问什么?
main()不在bt堆栈中,
这对于完全剥离的可执行文件来说是很常见的。如果您运行nm a.out | grep main但没有看到main,那么main就不会出现在任何堆栈跟踪中。
仅凭这一点并不一定能证明应用程序正在使用任何反调试技术。
https://stackoverflow.com/questions/16639269
复制相似问题