调出微信小程序的devtools

文章最后更新时间为:2024年06月24日 15:23:18

20240131更新

====================================

志远佬发的新方案,在小程序界面可直接开启devtools来进行debug和抓包,原库已删除,相关代码我fork了:https://github.com/saucer-man/WeChatOpenDevToolsss

效果如下:
2023-12-06T14:38:34.png

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就是微信小程序版本号
2023-12-07T02:09:55.png

2023-12-07T02:11:12.png

4.从https://github.com/x0tools/WeChatOpenDevTools下载对应的版本号的偏移地址到本项目的WeChatAppEx.exe目录下:

2023-12-07T02:13:36.png

  1. 修改配置文件,修改版本号,如下图

2023-12-07T02:17:26.png

  1. 然后直接用vscode运行即可,如下图,注入成功

2023-12-07T02:16:08.png

自己寻找偏移地址

20231213更新 可以自己找偏移地址了,参考志远的视频https://www.bilibili.com/video/BV1Cw411473D

下面我实操一遍,记录下过程

1.首先打开x64dbg,附加进程wechatappex进程(标题是微信),然后去掉所有断点,点击运行。(此时左下角显示运行中)

2023-12-13T07:25:01.png

2.点击符号,找到wechatappex.exe模块,右键-复制-基址。得到00007FF620760000
2023-12-13T07:27:53.png

3.双击wechatappex.exe模块,然后右键-搜索-当前模块-字符串,此时等待模块搜索完毕。输入LaunchApplet init_config.productId找到该字符串。

2023-12-13T07:33:09.png

2023-12-13T07:37:30.png

4.双击字符串,然后向上翻,找到这个函数的起始地址,在ret下面一行,这里也就是00007FF62229FF3C,这样就得到了LaunchAppletBegin的值 00007FF62229FF3C - 00007FF620760000 = 0x1B3FF3C

2023-12-13T07:41:55.png

5.继续回到引用页面搜索字符串web.html

2023-12-13T07:45:29.png

6.找到之后双击,往下复制4行:

2023-12-13T07:46:53.png

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,计算方式如下
2023-12-13T07:49:07.png

8.计算得到WechatWebHtml的值为0x2EC9FBD,计算方式如下

2023-12-13T07:50:43.png

1 + 6 =
1 评论
    1 Chrome 120 OSX
    2023年12月19日 回复

    这为啥也加密了,大佬。