调出微信小程序的devtools
文章最后更新时间为:2024年06月24日 15:23:18
20240131更新
====================================
志远佬发的新方案,在小程序界面可直接开启devtools来进行debug和抓包,原库已删除,相关代码我fork了:https://github.com/saucer-man/WeChatOpenDevToolsss
效果如下:
TL;DR
下面简单说一下教程:
1.安装vscode和node,这里无需多言
2.下载WeChatOpenDevToolsss,可以下载上面我保存的的github项目,不过建议直接使用我下面分享的百度网盘下载,下载之后用vscode打开,并且npm install && npm rebuild
链接:https://pan.baidu.com/s/1x5h-FC2er5mPfW2JsJBwCQ?pwd=v1wk
提取码:v1wk
3.然后确定微信小程序的版本,任务管理器->右键进程WechatAppEx->打开文件所在的位置->可以看到8447就是微信小程序版本号
4.从https://github.com/x0tools/WeChatOpenDevTools下载对应的版本号的偏移地址到本项目的WeChatAppEx.exe目录下:
- 修改配置文件,修改版本号,如下图
- 然后直接用vscode运行即可,如下图,注入成功
自己寻找偏移地址
20231213更新 可以自己找偏移地址了,参考志远的视频https://www.bilibili.com/video/BV1Cw411473D
下面我实操一遍,记录下过程
1.首先打开x64dbg,附加进程wechatappex进程(标题是微信),然后去掉所有断点,点击运行。(此时左下角显示运行中)
2.点击符号,找到wechatappex.exe模块,右键-复制-基址。得到00007FF620760000
3.双击wechatappex.exe模块,然后右键-搜索-当前模块-字符串,此时等待模块搜索完毕。输入LaunchApplet init_config.productId
找到该字符串。
4.双击字符串,然后向上翻,找到这个函数的起始地址,在ret下面一行,这里也就是00007FF62229FF3C,这样就得到了LaunchAppletBegin的值 00007FF62229FF3C - 00007FF620760000 = 0x1B3FF3C
5.继续回到引用页面搜索字符串web.html
6.找到之后双击,往下复制4行:
00007FF623629FAD | 48:8D15 0937D404 | lea rdx,qword ptr ds:[7FF62836D6BD] | ds:[00007FF62836D6BD]:"https://applet-debug.com/devtools/wechat_web.html"
00007FF623629FB4 | EB 07 | jmp wechatappex.7FF623629FBD |
00007FF623629FB6 | 48:8D15 3237D404 | lea rdx,qword ptr ds:[7FF62836D6EF] | ds:[00007FF62836D6EF]:"https://applet-debug.com/devtools/wechat_app.html"
00007FF623629FBD | 48:8DBC24 B0000000 | lea rdi,qword ptr ss:[rsp+B0] |
7.计算得到WechatWebHtml的值为0x7C0D6BD,计算方式如下
8.计算得到WechatWebHtml的值为0x2EC9FBD,计算方式如下
这为啥也加密了,大佬。