You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Frida Hook getAuthToken方法后无法打印mAuthToken成员问题求助

解决Frida Hook中无法正确打印类成员mAuthToken的问题

嗨,我刚好遇到过类似的问题!你看到[object Object]是因为mAuthToken不是字符串、数字这类基础类型,而是一个Java对象,直接打印会输出它的默认对象描述。下面给你几种可行的解决思路和代码示例:

1. 先搞清楚mAuthToken的真实类型

首先我们可以先打印出这个对象的类型和类名,帮你定位它到底是什么:

Java.use("你的目标类全名").getAuthToken.implementation = function() {
    // 打印类型和所属类
    console.log("mAuthToken 类型:", typeof this.mAuthToken);
    console.log("mAuthToken 所属类:", this.mAuthToken.getClass().getName());
    
    // 调用原方法
    return this.getAuthToken();
};

2. 针对不同类型的处理方式

情况一:mAuthToken是Java字符串(String)

如果它是Java的String对象,直接打印会显示[object Object],你可以通过以下方式转成JS字符串:

Java.use("你的目标类全名").getAuthToken.implementation = function() {
    // 方式一:用字符串拼接转换
    console.log("mAuthToken 值:", this.mAuthToken + "");
    // 方式二:调用toString方法
    console.log("mAuthToken 值:", this.mAuthToken.toString());
    
    return this.getAuthToken();
};

情况二:mAuthToken是自定义对象

如果它是一个自定义的AuthToken类(比如包含token字段或getToken方法),你需要先把它转换成对应的类,再访问内部字段或方法:

// 先获取自定义AuthToken类的引用
const AuthTokenClass = Java.use("自定义AuthToken的类全名");

Java.use("你的目标类全名").getAuthToken.implementation = function() {
    // 将mAuthToken强转成自定义类
    const authTokenObj = Java.cast(this.mAuthToken, AuthTokenClass);
    
    // 方式一:直接访问内部字段(比如字段名是mToken或token)
    console.log("真实Token值:", authTokenObj.mToken);
    // 方式二:调用类的getter方法(如果有的话)
    try {
        console.log("真实Token值:", authTokenObj.getToken());
    } catch(e) {
        console.log("调用getter失败:", e);
    }
    
    return this.getAuthToken();
};

情况三:不知道对象结构?先看所有属性

如果不确定这个对象有哪些字段,可以用Object.getOwnPropertyNames列出所有属性,找到存储Token的字段:

Java.use("你的目标类全名").getAuthToken.implementation = function() {
    const props = Object.getOwnPropertyNames(this.mAuthToken);
    console.log("mAuthToken的所有属性:", props);
    
    // 遍历属性尝试打印值
    props.forEach(prop => {
        console.log(`${prop}:`, this.mAuthToken[prop]);
    });
    
    return this.getAuthToken();
};

小提示

如果mAuthToken是私有字段,Frida也能直接访问,不需要额外处理权限问题;如果遇到混淆后的字段名(比如a、b这类),可以结合反编译工具查看类的结构来找到对应字段。

内容的提问来源于stack exchange,提问作者Arya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:07:35