• 最近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()。

  • 相关阅读:
    JAVA HttpsURLConnection 忽略对SSL valid 的验证
    IntellJ 13.x JPA Persistence Sample
    IntelliJ IDEA 13.x 下使用Hibernate + Spring MVC + JBoss 7.1.1
    Entity Framework + WCF REST JSON Service
    WCF Membership and Role Provider
    ASP.NET MVC 4 SimpleMembership Provider (1)
    Centos7下安装Nginx
    Centos7下部署docker
    centos 6.5将系统语言改为中文
    ensp配置DHCP实例
  • 原文地址:https://www.cnblogs.com/gm-201705/p/14017772.html
Copyright © 2020-2023  润新知