最近因为要去除一些常用 APP 丧心病狂的切屏广告所以接触了一下 iOS 逆向,正巧群里有人问怎么破解某APP的API签名,就拿来练练手.
准备工作
某APP砸壳后的.ipa文件
MonkeyDev
IDA Pro
class-dump 头文件
查找分析定位相关函数
通过搜索常用的加密关键词 "md5" "sign" 以及 API 相关函数名很容易定位到了一个叫的类
查看该类的头文件为
编写代码 hook 方法
运行后其中一次的打印结果(非真实打印)为
可以看到会直接返回一个 md5 加密后的32位sign,通过和网络抓包对比结果一致,说明这个类方法确实是我们想要的签名生成方法.
查看类方法的实现
把.app 拖入 IDA 解析完毕后,搜索,按 F5 可以得到伪代码(部分)如下
通过查看伪代码我们发现该方法内调用了类方法,那么就先 hook 一下这个方法看看它做了什么
打印结果为(非真实数据),因为可以一眼看出来这个是传入参数根据 key 排列后的字符串进行了UrlEncode编码得到的,就不需要再去查看其具体实现了.
接下来我们可以直接从后进行分析可以看出 sign 的计算代码为
还原代码
这部分很简单就不说具体的还原方法了,直接上代码.如下
扫描二维码推送至手机访问。
版权声明:本文由MDM苹果签名,IPA签名,苹果企业签名,苹果超级签,ios企业签名,iphoneqm.com发布,如需转载请注明出处。