最近悟到了一个新的技巧,之前要用devtools对小程序进行抓包,通过动态hook的方式打开了微信小程序的devtools,见https://github.com/shuaibibobo/WeChatOpenDevTools
但是一个问题就是我没办法抓到初始化的包,不知道里面是什么,于是借助了外部charles工具对浏览器抓包,然后今天在逆向易盾滑块的时候需要对window某个全局变量进行hook操作, 用到了map-local,就是劫持请求,并用本地设置好的数据包或者js替换了看雪论坛第一个html的请求,然后页面加载后自动在所有js执行前触发了劫持的hook代码。设置了被劫持数据地址和本地文件映射路径 然后生效了
借助map-local 注入的js代码
<script>
(function () {
'use strict'
var info;
Object.defineProperty(window, 'gdxidpyhxde', {
set: function (v1) {
debugger;
info = v1
},
get: function () {
return info
},
});
})() </script>
charles的map-local真的很好用,强烈推荐
同样 关于微信小程序抓包初始化的数据不好抓,同时怎么断点初始化的包, charles的map-local同样可以很给力的。那关于怎么在小程序启动的时候抓包并且hook初始化逻辑的需求就满足了。