标签:函数 oid roi sock sig queue 模拟 需要 打印
项目需求,最近team逆向了3款竞品APP,总结一些经验和想法,
三款APP分别是A、B和C,
A:
无法中间人,抓不到包,一旦走Charles,则提示更新APP。
一定是做了证书校验,Android里面是SSL Pinning,分析后是在Java侧做的,直接hook掉校验函数即可。
B:
可抓包,但需要socks5代理,https则抓不到
分析其有一个x-sign请求签名,分析发现调用的native签名函数。IDA看了下jump来jump去,做了混淆,初步分析没有VMP,但对我们还是太难。
因此尝试hook的方案,成功之。这样部署:
申请一台mac,安装mumu模拟器,部署破解服务。mac ssh tunnel到爬虫服务器。爬虫集群请求前,发params到本地tcp端口签名。
签名速度大约能达到100QPS,可以通过多开提高之,但已经够用了。
C:
这款分析失败了,但由于Desktop与APP使用的相同签名算法,所以算法本身是破解了的。
Desktop JS太好调了,所以要经常换,且不要跟APP一样。
APP失败的原因是,使用的react native,请求是从JS发出的,导致无法跟踪debug。
尝试了xposed okhttp3的库(分析发现其请求走的这里),cpu profile但都没有跟到请求签名位置,因为具体请求是在js发出的,这里暂时还无从入手。
PS:okhttp3跟踪时发现,其add queue是异步的,所以hook这里意义不大,打印出的调用栈也没什么帮助,毕竟只到.run()。
标签:函数 oid roi sock sig queue 模拟 需要 打印
原文地址:https://www.cnblogs.com/gm-201705/p/14017772.html