【微信】【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: 文章中内容仅用于技术交流,请勿用于违规违法行为。

  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
2020.06.09 更新说明 A 新增 终面板 A 新增 查看并管理开发者工具相关进程 A 新增 云开发静态资源托管 详情 A 新增 小程序设置页面中增加订阅消息开关 A 新增 小程序强制更新调试支持 详情 A 新增 小程序/小游戏 收藏事件调试 详情 A 新增 通用设置-项目关闭时,控制项目关闭时是否直接打开项目列表窗口 A 新增 通用设置-快速打开文件,控制模拟器区域底部状态栏点击页面路径时打开的文件类型 A 新增 搜索回调调试插件 A 新增 小游戏脚本录制插件 A 新增 模拟器-模拟操作-事件模拟-内存警告 A 新增 支持音视频合成调试 详情 A 新增 代码上传后可以下载对应的 sourcemap 文件 F 修复 编辑器 WXML 文件格式化快捷键失效的问题 F 修复 调试器位置顺序无法拖动排序的问题 F 修复 打开快捷键设置后,编辑器 ctrl/cmd + f 快捷键无法触发文件内搜索的问题 反馈详情 F 修复 cli 命令行当项目路径有中文的情况下无法正常启动的问题 F 修复 新建代码片段时生成多个 sitemap.json 的问题 反馈详情 F 修复 mac 版无法读取系统设置的 PATH 环境变量的问题 F 修复 云函数本地调试没有日志的问题 反馈详情 F 修复 API 代码自动补全时按字母序排序不友好的问题 反馈详情 F 修复 版本更新通知时,如未选择更新,后续手动检查更新时一直提示正在下载的问题 F 修复 win 版通知中心顶部操作按钮被遮挡的问题 反馈详情 F 修复 小游戏 video 缺少 onVideoProgress 事件回调的问题 F 修复 1.03.2005140 终止模拟器导致工具奔溃的问题 反馈详情 F 修复 1.03.2005140 多帐号调试窗口编译会导致主项目窗口模拟器崩溃的问题 反馈详情 F 修复 1.03.2005140 激励视频广告自动显示并无法关闭的问题 反馈详情 F 修复 独立分包代码被执行两遍的问题 反馈详情 F 修复 菜单栏新建或导入项目可能没反应的问题 F 修复 模拟器在 Tabbar 设置为 top 时样式错乱的问题 反馈详情 2020.05.12
搭建微信小程序的全过程一般分为以下几个步骤: 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开始搭建微信小程序的全过程。需要注意的是,小程序的开发涉及多个技术领域,需要具备一定的编程和设计能力。同时,小程序的开发还需要遵守微信小程序的开发规范和标准,确保小程序的安全和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

夜猫逐梦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值