前言
有时候在测试APP的时候,发现APP其实是通过webview内嵌了一个h5,这种情况下如果遇到数据加密,那么最好的方式就是调试分析JS,因此如何调试分析webview中页面的JS,就是本次要解决的问题。
过程
检查APP是否开启webview调试模式,即是否有相关代码如下:
也可以通过后续的步骤看chrome能不能捕捉到,或者直接一股脑加载frida js
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(true);
}
[!NOTE]
在 WebView 113.0.5656.0 及更高版本中,如果应用在清单文件中声明为
android:debuggable="true"
,则调试选项会自动启用,否则默认值为 false。
如果没有开启webview调试,可通过frida
脚本去hook尝试,相关脚本搜索语法:
site:codeshare.frida.re intext:webview
然后在Chrome中输入Chrome://inspect
,可以来到开发工具页面,可以看到外接Android设备。
再正常打开webview,就可以成功监听到对应的webview页面
点击inspect
,就达到了和电脑中浏览器F12一样的效果,因此也就可以继续下断点调试分析了。