网络传输的数据是加密的,会调用WebView的evaluateJavascript并把加密数据传进去,估计解密相关逻辑是放在WebView的html源码里
尝试用apktool去解包apk,找到不少的html和js,但是都是乱码,不知道是加密了还是怎么了,没法看
现在打算在运行时把WebView里的html源码打印出来
APK里的Java代码:
[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代码要这样写:
[Java] 纯文本查看 复制代码 webview.evaluateJavascript(
"(function() { return ('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>'); })();",
new ValueCallback<String>() {
@Override
public void onReceiveValue(String html) {
Log.d("HTML", html);
initStartAsyncTask(html);
// code here
}
});
也需要去调用evaluateJavascript然后通过回调来接收html
但是里面有匿名方法以及Override方法,在FrIDA里面应该怎么写呢?
[JavaScript] 纯文本查看 复制代码 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?
|