gpt4 book ai didi

iphone - GDB IOS 中未定义的函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:42:12 26 4
gpt4 key购买 nike

我开发了一个简单的 IOS 应用程序,它只验证 pin/code 值并打印 “已验证” 如果为 true,如果为 false 则打印“未验证”

然后我做了什么,我选择了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 ()*

最佳答案

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

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com