1

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

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

BT 堆栈中的最后两个条目是:

_mh_execute_header<br>
_mh_execute_header<br>

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

有没有人见过这些?

从我读到的内容ptrace()不会让你附加这个过程,但这会让我。我试图绕过,sysctl()但我认为也没有使用过这种方法。

有谁知道它还能是什么?

我也没有源文件。

4

1 回答 1

1

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

main() 不在 bt 堆栈中,

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

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

于 2013-05-19T20:51:15.300 回答