OGeek|极客世界-中国程序员成长平台

标题: iphone - GDB IOS 中未定义函数 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 12:11
标题: iphone - GDB IOS 中未定义函数

我开发了一个简单的 IOS 应用程序,它只验证 pin/code 值,如果为 true,则打印 "isvalidated",如果为 false,则打印 "is notvalidate"

我做了什么然后我选择了 product->archive 应用程序并将其作为“myapp.app”并将其上传到我的 IOS 手机中,之后我使用 GDB 尝试将应用程序破解为(PoC),但是当我尝试将断点设置如下:

#(gdb) break -[viewController isValidCode]

Function "-[viewController isValidCode]" not defined.

Make breakpoint pending on future shared library load? (y or [n])

这个错误背后的原因是什么?在使用应用程序之前 - 在 XCode 中的存档步骤期间,我们是否需要指定任何首选项。

Reading symbols for shared libraries . done

Reading symbols for shared libraries ........... done

Reading symbols for shared libraries + done

*0x3b442eb4 in mach_msg_trap ()*



Best Answer-推荐答案


当您归档产品时,它会在“发布”模式下构建,其中调试符号被去除。 lldbgdb 不利用 __OBJC 段中的信息来尝试获取方法名称,它们仅依赖于调试符号。 您需要做的是在特定地址中断,即在 gdb 中: b *0x12345 其中 0x12345-[viewController 的实现地址isValidCode]。 要检索该地址,您可以查看 xcode 生成的程序集。或者更现实地说,就像你对“未知”二进制文件所做的那样;您可以使用 otoolclass-dump 实用程序等工具(查看 -A-H选项)

关于iphone - GDB IOS 中未定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17470808/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4