吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2706|回复: 0
收起左侧

[Android 求助] Frida怎么获取Android WebView的html源码?

[复制链接]
nhujasf 发表于 2019-8-24 13:32
网络传输的数据是加密的,会调用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?

免费评分

参与人数 1热心值 +1 收起 理由
haolaogong + 1 学习了

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-23 23:58

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表