美文网首页安卓逆向
某电商App anti-token 签名计算方法 学学objec

某电商App anti-token 签名计算方法 学学objec

作者: fenfei331 | 来源:发表于2021-03-04 14:19 被阅读0次

    一、目标

    今天的目标是某电商App的签名 anti-token ,抓个包先:

    main.png

    TIP: v 5.44.1

    二、步骤

    老规矩,上jadx

    jadx.png

    今天好幸运,只有两处,范围缩小了。双击进去看看。

    at1a.png

    这里把 a2 的值赋给了 anti-token,a2的来处是

    String a2 = SecureService.m8583a().mo9433a(a, Long.valueOf(longValue));

    进入到 mo9433a 去看看,发现是一个接口类。

    public interface ISecureService

    显然是没法直接hook这个接口类的,所以换个思路,搜索下 "implements ISecureService" 看看谁实现了这个接口:

    implecls.png

    太棒了,找到了两个类,

    com.aimi.android.common.service.d$a
    com.xunmeng.pxxx.secure.s
    

    就他们俩了,Hook之

    objection

    Objection 是一个基于Frida开发的命令行工具,它可以很方便的Hook Java函数和类,并输出参数,调用栈,返回值。

    TIP: pip install objection

    首先加载App,进入交互式分析环境。 objection -g 包名 explore

    objection -g com.xunmeng.pxxx explore
    

    然后Hook这两个类:

    android hooking watch class 'com.aimi.android.common.service.d$a'
    android hooking watch class 'com.xunmeng.pxxx.secure.s'
    

    这样可以一次性把这两个类下所有的函数都Hook,方便咱们定位到底是哪个函数来做了 anti-token 计算

    objection1.png

    现形了,很明显是 com.xunmeng.pxxx.secure.s.a 函数,不过又遇到一个问题,a函数有好几个重载,而且也看不到他们的入参和返回值?

    这时候就可以使用 android hooking watch class_method 来hook函数,并且打印出入参和返回值:

    android hooking watch class_method 'com.xunmeng.pxxx.secure.s.a' --dump-args --dump-return
    

    结果很美丽

    rc.png

    然后写个 js用frida搞一搞就行了。

    三、总结

    Objection可以方便的Hook一堆类或者函数,来缩小咱们分析的范围。它的功能很多,咱们后面再慢慢发掘。

    nzqk.png

    莫因渴望你没有的,而错过你已拥有的;要知道,你现在拥有的,也曾是你渴望的。

    有问题可以加我wx: fenfei331 讨论下。

    相关文章

      网友评论

        本文标题:某电商App anti-token 签名计算方法 学学objec

        本文链接:https://www.haomeiwen.com/subject/yckkqltx.html