【微信】【Windows端】开启2024最新版微信小程序Devtools调试窗口

🛫 导读

系列文章

开发环境

版本号描述
文章日期2024-03-08
操作系统Win11 - 22H222621.2715
WeChat.exe目录D:\Program Files (x86)\Tencent\WeChat小编使用的是[3.9.8.25]
WeChatAppEx.exe路径%APPDATA%\Tencent\WeChat\XPlugin\Plugins\RadiumWMPF\9079\extracted\runtime9079是版本号,这两天刚更新的

1️⃣ 小程序菜单上增加Devtools按钮

搜索关键字LaunchApplet

通过x64dbg附加调试WeChatAppEx.exe进程。
然后搜索WeChatAppEx.exe模块字符串。
从中删选LaunchApplet,在所有字符串下断点。
启动任一小程序,会在字符串"LaunchApplet init_config.productId "处断下来;说明该处是我们要找的地方。
在这里插入图片描述

修改配置项json串

找到该断点所在函数入口位置,下断点,然后再次启动新的小程序。
在堆栈中(ESP+0x3B8处),我们可以看到有一个json串。
在这里插入图片描述

将该串拿出来,格式化后,查看到有两个可疑值,修改为true。
在这里插入图片描述
步骤1:选中要修改的字符串,使用快捷键Ctrl+E打开修改界面
步骤2:在修改界面改为我们想要的结果,并点击确定按钮。
在这里插入图片描述
步骤3:修改后内存效果如下:
在这里插入图片描述

效果

最终效果如下,新增了devTools按钮:
在这里插入图片描述

2️⃣ 强制使用浏览器的Devtools

预备知识:定制的DevTools

通过上面的操作,我们可以打开DevTools界面,但是该界面中只有三个标签,这是因为微信当检查的是小程序的时候,启动的是自己定制的DevTools。
在这里插入图片描述

关于这块知识,过于庞杂,有兴趣的可以参考文章《Chrome DevTools Frontend 运行原理浅析 https://zhaomenghuan.js.org/blog/chrome-devtools-frontend-analysis-of-principle.html》。

总之,微信是通过不同的地址,打开不同的DevTools的。

分析及实现

如下图,我们打开调试窗口的调试窗口,可以看到其地址为:devtools://devtools/bundled/devtools_app.html?remoteBase=htt
在这里插入图片描述

搜索devtools/,可以看到下面的结果:
在这里插入图片描述
其中的/devtools/wechat_%s.html有点奇怪,查看相关代码,发现改一个字符串就完成我们的目标了(打开完整版的调试窗口)。
在这里插入图片描述

3️⃣ 无法调试排查步骤

一开始使用x64dbg调试时,发现一旦附加微信,立刻闪退。
可以经过下面几种思路进行排查:

删除db目录配置

x64dbg目录下,会将断点、注释等各种信息保存下来,方便下次继续使用,但是随着版本变更,这些配置文件会错乱,导致各种异常,删掉他们,重试。
在这里插入图片描述

ScyllaHide插件配置

作为x64dbg常见插件ScyllaHide,小编默认是开启了VMP的反调试的。想来想去,先把它关了吧。
在这里插入图片描述
在这里插入图片描述

ps: 各种配置切换,最后选择Disabled,居然可以了。看来有黑科技呢。

换个版本的x64dbg

这是之前遇到的情况,貌似是新版本的工具修复了一些bug吧。
实在不行,换个调试IDE(如windbg)试试。

过反调试

如果上述都有问题,就只能想办法过反调试了,x64dbg本身提供了很多工具,自己也可以写插件尝试。

🛬 文章小结

打开调试的方法万万千,有兴趣的大佬可以分享一些思路。

整个分析过程其实比较痛苦的,各种试错,搜了各种资料。而且最新版本的跟上一个版本有较大的差别,网上资料全失效了。
下一篇,我们将通过frida自实现启动工具,简化操作。

📖 参考资料

ps: 文章中内容仅用于技术交流,请勿用于违规违法行为。

搭建微信小程序的全过程一般分为以下几个步骤: 1. 注册微信公众平台和小程序账号。可以前往[微信公众平台官网](https://mp.weixin.qq.com/)进行注册。 2. 下载微信开发者工具。可以前往[官网下载页面](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)进行下载。 3. 创建小程序项目。在微信开发者工具中,选择新建小程序项目,填写小程序的基本信息,包括小程序的名称、AppID、开发者ID等。 4. 设计小程序的界面和功能。使用微信开发者工具的代码编辑器和UI设计器,设计小程序的界面和功能模块。 5. 编写小程序的前代码。使用JavaScript、CSS和HTML等技术,编写小程序的前代码,实现小程序的交互和动态效果。 6. 编写小程序的后代码。使用Node.js等技术,编写小程序的后代码,实现小程序的业务逻辑和数据交互。 7. 测试和调试。在微信开发者工具中,进行小程序的本地测试和调试,确保小程序的功能和界面正常运行。 8. 发布小程序。在微信公众平台中,进行小程序的审核和发布,将小程序上线到微信小程序市场。 以上是从0开始搭建微信小程序的全过程。需要注意的是,小程序的开发涉及多个技术领域,需要具备一定的编程和设计能力。同时,小程序的开发还需要遵守微信小程序的开发规范和标准,确保小程序的安全和稳定性。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜猫逐梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值