首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >匿名类的Frida钩子重写方法?

匿名类的Frida钩子重写方法?
EN

Stack Overflow用户
提问于 2019-08-26 12:19:19
回答 1查看 2.1K关注 0票数 2
代码语言:javascript
运行
复制
package com.test.testapplication;

import android.content.Context;
import android.webkit.ValueCallback;
import android.webkit.WebView;

public abstract class TXOut extends WebView {
    public TXOut(Context context) {
        super(context);
    }

    private class TXIn implements Runnable {
        String a;
        ValueCallback b;

        TXIn(String str) {
            this.a = str;
        }

        private void b() {
            TXOut.this.evaluateJavascript(
                    "(function() { return ('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>'); })();",
                    new ValueCallback<String>() {
                        @Override
                        public void onReceiveValue(String html) {
                            // code here
                        }
                    });
        }

        public void run() {}
    }
}

我如何用frida钩住TXOut -> TXIn -->b-->新的ValueCallback() -> onReceiveValue

我想得到这个方法的html参数

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-26 17:15:49

匿名内部类使用以下方案获得生成的类名:

代码语言:javascript
运行
复制
<outer class name>$<number>

当数字从1开始,对于每个匿名内部类,它只是增加一个。

因此,在您的情况下,很可能是com.test.testapplication.TXOut.TXIn$1

看起来你在练习使用Frida,因为通常你没有应用程序的源代码。因此,常用的方法是使用已编译的APK文件,并使用例如apktool贾德克斯对其进行反编译。

在生成的smali源中使用apktool,您可以很容易地识别要查找的内部类,只需将/替换为.,就可以将smali类名转换回常规的Java类名。

在Jadx中,原来的类名添加为注释。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57657813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档