zoukankan      html  css  js  c++  java
  • 最近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()。

  • 相关阅读:
    HTTP协议详解(转)
    Linux shell 提取文件名和目录名的一些方法(转)
    快速建立ssh互信(转)
    Python 连接mysql
    pt-online-schema-change原理解析(转)
    python基础学习笔记3
    python基础学习笔记2
    DNS服务器原理
    代理服务器(Proxy)原理
    Ext.MessageBox消息框
  • 原文地址:https://www.cnblogs.com/gm-201705/p/14017772.html
Copyright © 2011-2022 走看看