nhujasf 发表于 2019-8-24 13:32

Frida怎么获取Android WebView的html源码?

网络传输的数据是加密的,会调用WebView的evaluateJavascript并把加密数据传进去,估计解密相关逻辑是放在WebView的html源码里
尝试用apktool去解包apk,找到不少的html和js,但是都是乱码,不知道是加密了还是怎么了,没法看
现在打算在运行时把WebView里的html源码打印出来

APK里的Java代码:
public abstract class c extends WebView {
    private class a implements Runnable {
      String a;
      ValueCallback<String> b;

      private void b() {
            c.this.evaluateJavascript(this.a, this.b);
      }
    }
}
c.this.evaluateJavascript(this.a, this.b);
this.a就是加密数据
this.b就是解密数据后的回调方法

打印html的Java代码要这样写:
   webview.evaluateJavascript(

                        "(function() { return ('<html>'+document.getElementsByTagName('html').innerHTML+'</html>'); })();",

                        new ValueCallback<String>() {

                            @Override

                            public void onReceiveValue(String html) {

                              Log.d("HTML", html);

                              initStartAsyncTask(html);

                              // code here

                            }

                        });
也需要去调用evaluateJavascript然后通过回调来接收html
但是里面有匿名方法以及Override方法,在Frida里面应该怎么写呢?

var c_a_class = Java.use('c$a');
var c_a_class_b = c_a_class.b.overload();
c_a_class_b.implementation = function ()
{
        var returnValue = c_a_class_b.apply(this, arguments);
        return returnValue;
}
这是我的Frida Javascript代码
需要怎么写才能打印出html?
页: [1]
查看完整版本: Frida怎么获取Android WebView的html源码?