最近3款Android APP逆向分析总结
Posted gm-201705
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最近3款Android APP逆向分析总结相关的知识,希望对你有一定的参考价值。
项目需求,最近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()。
以上是关于最近3款Android APP逆向分析总结的主要内容,如果未能解决你的问题,请参考以下文章
android逆向开发工程师需要掌握的技能--实习一个月总结报告
Android 逆向Android 逆向方法 ( 静态逆向解析 | 函数调用分析 | 动态运行跟踪 | 运行日志分析 | 文件格式解析 | 敏感信息分析 | 网络信息监控 | 环境伪装模拟 )