下载:
https://github.com/JaveleyQAQ/WeChatOpenDevTools-Python
配置:
pip install -r requirements
实现:
开启小程序开发者模式,类似浏览器F12
效果:
使用:
退出微信,进入安装的目录下执行shell
python main.py -c //开启内置浏览器F12
会自动弹出登录微信框,进入微信后执行shell
python main.py -x //开启小程序F12
或者直接执行
python main.py -all //开启内置浏览器F12与小程序F12
内置浏览器已经可以进入F12
但小程序不行,会遇到小程序版本问题,仅可以进入控制台
当前小程序版本为11275,需要在 WeChatOpenDevTools-Python-main\configs 创建 address_11275_x64.json
{
"LaunchAppletBegin": "0x289F94C",
"MenuItemDevToolsString":"0x28AD361",
"SwitchVersion":"0x26D10A8",
"Version":11275
}
并修改 WeChatOpenDevTools-Python-main\scripts\hook.js 文件,增加
case 11275:
Interceptor.attach(address.SwitchVersion, {
onEnter(args) {
this.context.r8 = this.context.rax
sendMessage()
}
})
break;
"LaunchAppletBegin":"0x289F94C","MenuItemDevToolsString":"0x28AD361","SwitchVersion":"0x26D10A8",这三组数据可用 IDA PRO 逆向 WeChatAppEx 文件获取
数据获取具体操作见:https://mp.weixin.qq.com/s/JE2LA-uRKJd4GitifZY6wg
然后就可正常进入小程序F12,既然现在小程序相当于浏览器,就可结合RPC框架进行JS逆向、Hook等操作,尝试了确实可以,也有更直接的方法Hook小程序,可通过 hook js api 对应的 java 代码可实现微信小程序的 api hook,但上述方法简单便于调试小程序
11275是目前最新的小程序版本,其它版本大多网上都有现成的数据,或者就是替换成老版本的 webchatappex.exe 来