微信小程序调试工具 —— 基于 Frida + CDP 代理,支持 GUI 与 CLI 双模式

https://github.com/Spade-sec/First

First微信小程序调试工具 —— 基于 Frida + CDP 代理,支持 GUI 与 CLI 双模式

本项目仅支持windows,macos用户使用dp虚拟机即可

截图预览

主界面 / Control Panel

使用First的时候,不建议开启调试(调试主包和调试frida)的两个选项,这两个选项是用来输出全量日志的,开启之后用起来可能会比较卡。

功能特性

通过 Frida 注入微信客户端,转发小程序调试协议CDP 代理桥接,

支持 Chrome devtools 直接连接调试路由枚举与一键跳转导航

云函数调用监控与参数分析UserScript 自动注入(支持按 URL 匹配、run-at 时机控制)

内置安全扫描模块,生成扫描报告深色 / 浅色

主题切换GUI(PySide6)与 CLI 双模式运行

环境要求依赖

版本

Python >= 3.10

frida >= 17.0.0

websockets >= 12.0

protobuf >= 4.0.0

PySide6 >= 6.5.0

安装依赖:

pip install -r requirements.txt

微信版本要求

WMPF版本区间:19201-11581

推荐微信版本为4.1.0.30

下载地址weixin/4.1.0.30

使用方法GUI 模式(推荐)

python gui.py

双击启动.bat

启动后在主界面点击

启动调试

即可开始调试。

小程序页面操作点击启动调试前请勿打开小程序, 启动调试打开后再次启动小程序即可。

CLI 模式# 默认端口启动

python main.py# 自定义端口

python main.py –debug-port 9421 –cdp-port 62000# 开启详细日志

python main.py –debug-main –debug-frida连接 Chrome DevTools启动后,

在 Chrome 地址栏输入:devtools://devtools/bundled/inspector.html?ws=127.0.0.1:62000

参数说明参数

默认值

说明–debug-port 9421

远程调试服务端口–cdp-port 62000

CDP 代理监听端口–debug-main 关闭 输出主进程调试日志–debug-frida 关闭 输出 Frida 客户端日志–scripts-dir ./userscripts UserScript 目录路径–script — 指定单个 .js 文件注入(可多次使用)

UserScript 注入将 .js 脚本放入 userscripts/ 目录,工具启动时自动加载并按规则注入。

也可手动指定文件:python main.py –script ./my_hook.js –script ./another.js打包为可执行文件pyinstaller WMPFDebugger.spec

常见问题

解决办法Frida 已显示连接,但小程序端显示未连接若操作顺序无误,建议先彻底卸载微信并重启电脑(如有重要聊天记录请提前备份)。

删除路径C:\Users\用户名\AppData\Roaming\Tencent\xwechat\XPlugin\Plugins\RadiumWMPF下所有以数字命名的文件夹,再次重启电脑后,安装微信 4.1.0.30 版本。

安装完成后检查上述路径,确认文件夹编号为 16389。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容