使用Javascript注入,用户不需要关闭或保存网页就可以改变其内容,这是在浏览器的地址栏上完成的。命令的语法如下:
javascript:alert(#command#)
答:首先要截获检测函数的动态代码,动态执行js代码有两种方法,一是eval,二是function。现在很多网站都上了各种前端反爬手段,无论手段如何,最重要的是要把包含反爬手段的前端javascript代码加密隐藏起来,然后在运行时实时解密动态执行。
动态执行js代码无非两种方法,即eval和Function。那么,不管网站加密代码写的多牛,我们只要将这两个方法hook住,即可获取到解密后的可执行js代码。
注意,有些网站会检测eval和Function这两个方法是否原生,因此需要一些小花招来忽悠过去
0.js文件:
链接: https://pan.baidu.com/s/1MaWKxgkYgQTVQCgn8-dxLg
提取码:o6wy
3.添加js要调用的Android方法
4.添加 (JsBridge:js中调用Android方法的对象名)
5.注入js
6.Android 调用js方法 传值给js
步骤 3 中发送了处理后的消息,在webactivity中接受消息并处理:
数据示例:(参数需要使用单引号包着)
else 中对应的
callbackResult('sr1557665118336','{"data":"test"}')
if中对应的
javascript:callbackResult('sr1557665118336','{"data":"test"}')
7.补充:eventbus 消息实体封装类
8.总结: