效果演示
项目主要用于自动化辅助微信小程序的渗透测试工作,具体功能包括自动化辅助反编译、自动化注入hook、自动化查看信息泄露等。
使用效果可通过演示视频了解,启动脚本后,工具会自动处理指定的微信小程序,执行反编译、代码分析、接口爬取和敏感信息检测等任务。
配置文件详解
工具的核心配置文件为 config.yaml,其结构与关键配置项示例如下:
tools:
# 启用异步请求接口
asyncio_http_tf: True
# 小程序结果保存的文件名
process_file: "process.xlsx"
# 不进行拼接的接口的url,不写入该状态码的接口
not_asyncio_http: ["weixin.qq.com", "www.w3.org", "map.qq.com", "restapi.amap.com"]
not_asyncio_stats: [404]
# 最大线程数
max_workers: 5
wx-tools:
# 微信文件目录位置(必须配置),注意这里必须使用的是单引号
wx-file: 'D:\tools\WeChat-tool\WeChat Files'
# 配置正则表达式,用于匹配敏感信息,可自行更改添加
rekey:
google_api: 'AIza[0-9A-Za-z-_]{35}'
firebase: 'AAAA[A-Za-z0-9_-]{7}:[A-Za-z0-9_-]{140}'
google_captcha: '6L[0-9A-Za-z-_]{38}|^6[0-9a-zA-Z_-]{39}$'
......
1. 配置微信文件目录位置
首先,需要定位并配置微信客户端的文件存储路径。打开微信PC版,进入设置界面。

在设置中,找到“文件管理”选项,这里会显示微信文件的默认保存位置。将此完整路径复制下来。

然后,在 config.yaml 文件的 wx-tools 部分,将 wx-file 参数的值修改为此路径,注意需使用单引号包裹。

2. 配置Hook注入基址
若需使用工具的F12 Hook功能,则需要根据微信版本配置对应的内存基址。
首先,打开系统目录 %appdata%\Tencent\WeChat\XPlugin\Plugins\RadiumWMPF\,查看其中的文件夹。这些文件夹名通常对应微信小程序的插件版本。

通常会有多个文件夹,选择修改日期最新的一个,其名称(如9115、9129)即为当前需要适配的版本号。如果最新的版本不生效,可以尝试另一个。
接着,需要根据此版本号查找对应的基址文件。可以访问以下GitHub仓库获取:
https://github.com/x0tools/WeChatOpenDevTools/tree/main/Core/WeChatAppEx.exe
https://github.com/eeeeeeeeee-code/wx-hook/tree/master/addres
在仓库的文件列表中,找到与你本地版本号对应的JSON文件(例如 address_9129_x64.json)。

打开该JSON文件,复制其中的 address 对象内容。然后,打开本工具目录下的 ./tools/WeChatAppEx.exe.js 文件,找到 var address = { ... } 部分,将其替换为从GitHub复制的基址内容。

使用方法
配置完成后,即可通过命令行使用工具的不同功能模式:
-
不进行Hook,仅还原小程序项目结构:
python3 e0e1-wx.py -r
-
进行Hook注入:
python3 e0e1-wx.py -hook
-
进行Hook注入,同时对反编译输出的代码进行优化,并还原项目结构(综合模式):
python3 e0e1-wx.py -hook -p -r
此工具能显著提升在微信小程序安全评估与渗透测试中的效率,实现部分流程的自动化。更多技术讨论与实践分享,欢迎关注云栈社区。
|