App hook不到对应的函数分析

1.问题:hook不到对应的函数

先通过app抓包分析,发现我们要找的接口是xxxxxx/loginByPassword,主要的加密参数在{"encryptParam":"D7qgDE6jklD76L6rpyJVts4sFzULcBHi7fUgo//QrMjQchiZKk6i1czrSCRHuQXp5r9Ezdfm/g491q0P/l4tVQowotCsmfI1mSXW1LyHLme0A/yoYJb8g=="}

接下来用jadx分析接口
直接搜索encryptParam可以看到对应的加密板块

  public static String e(String str, String str2) {
        try {
            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
            Charset charset = f35971a;
            cipher.init(1, new SecretKeySpec(str2.getBytes(charset), "AES"));
            return b(cipher.doFinal(str.getBytes(charset)));
        } catch (Exception e10) {
            g(e10);
            return null;
        }
    }

复制名称,发现此函数在ac.l0中
写一个hook脚本

Java.perform(function(){
    console.log("Class found and loaded--");
    let lo = Java.use("rc.l0");
    lo.e.implementation = function (str, str2) {
        console.log("into----")
        console.log(`l0.e is called: str=${str}, str2=${str2}`);
        let result = this["e"](str, str2);
        console.log(`l0.e result=${result}`);
        return result;}
});

发现无论怎么样都没hook到

2.排查问题

查找一下函数试下

    // // 查找函数
//     Java.enumerateLoadedClasses({
//     onMatch: function(name) {
//         if (name.includes("rc.l0")) console.log("Found class:", name);
//     },
//     onComplete: () => {}
// });

发现 void rc.l0.e(android.content.Context,java.lang.String)
入参和我hook app的不大一样啊
按照app的版本void rc.l0.e(java.lang.String,java.lang.String) 才对
查看jadx的app版本和我手机安装的不一致啊
修改函数位置之后重新尝试

可以看到已经正确的hook到了

3.结论:


重要问题说三遍
jadx分析的app一定要和手机安装的版本一致 !!!

jadx分析的app一定要和手机安装的版本一致 !!!

jadx分析的app一定要和手机安装的版本一致 !!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值