一个编译成功的可执行程序,其中已初始化的字符串都是完整可见的。 针对于iOS的Mach-O二进制通常可获得以下几种字符串信息: 资源文件名 可见的函数符号名 SQL语句 format 通知名 对称加密算法的key 攻击者如何利用字符串 资源文件名通常用来快速定位逆向分析的入口点。 想要知道判断购买金币成功与否的代码位置?只要确定购买成功时播放的音频文件名字或者背景图名字就可以顺藤摸瓜了。 kLoginSuccessNotification类似这种通知名称格外炸眼,利用Cycript发个此通知试试,也许会有什么意外收…

2021年6月4日 0条评论 2036点热度 0人点赞 帮助教程 阅读全文

前言 符号表历来是逆向工程中的“必争之地”,而iOS应用在上线前都会裁去符号表,以避免被逆向分析。 本文会介绍一个自己写的工具,用于恢复iOS应用的符号表。 直接看效果,支付宝恢复符号表后的样子: 文章有点长,请耐心看到最后,亮点在最后。   为什么要恢复符号表 逆向工程中,调试器的动态分析是必不可少的,而 Xcode + lldb 确实是非常好的调试利器, 比如我们在Xcode里可以很方便的查看调用堆栈,如上面那张图可以很清晰的看到支付宝登录的RPC调用过程。 实际上,如果我们不恢复符号表的话,你看到的…

2021年6月2日 0条评论 2176点热度 0人点赞 帮助教程 阅读全文