gpt4 book ai didi

java - Frida hook 重写匿名类的方法?

转载 作者:行者123 更新时间:2023-11-30 12:03:35 24 4
gpt4 key购买 nike

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 Hook TXOut ---> TXIn ---> b ---> new ValueCallback() ---> onReceiveValue

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

最佳答案

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

<outer class name>$<number>

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

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

您似乎在练习使用 Frida,因为通常您没有应用程序的源代码。因此,常见的方法是使用已编译的 APK 文件并使用例如反编译它。 apktoolJadx .

在生成的 smali 源中使用 apktool,您可以轻松识别您正在寻找的内部类,您只需将 / 替换为 . 即可将 smali 类名转换回来到常规的 Java 类名。

在 Jadx 中,原始类名被添加为注释。

关于java - Frida hook 重写匿名类的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57657813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com