# vxhacker **Repository Path**: awsecurity/vxhacker ## Basic Information - **Project Name**: vxhacker - **Description**: vxhacker 是一个用于小程序自动化渗透测试的工具,支持 微信小程序自动化收集 与 小程序自动化解包与接口提取 等功能,输入公司名称即可自动化的收集该公司备案的小程序信息并自动进行小程序反编译获取敏感Key和接口信息。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-07-02 - **Last Updated**: 2025-07-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # vxhacker **vxhacker** 是一个用于小程序自动化渗透测试的工具,支持 **微信小程序自动化收集** 与 **小程序自动化解包与接口提取** 等功能,输入公司名称即可自动化的收集该公司备案的小程序信息并自动进行小程序反编译获取敏感Key和接口信息。 --- ## 📦 项目功能 - ✅ **微信小程序收集器**:根据公司名自动抓取该公司备案的小程序 - ✅ **小程序自动解包分析**:自动打开每个小程序并提取敏感信息和可测试的 API 接口 --- ## 🚀 快速开始 本项目依赖部分系统库和 Python 第三方库,推荐使用 Python 3.10+ ```bash pip install -r requirements.txt ``` 将微信添加到环境变量中。运行add_env.py函数即可自动添加。 ```python from pywechat.WechatTools import Tools Tools.set_wechat_as_environ_path() ``` 尝试收集如下公司的微信小程序信息 ```shell python main.py -n 杭州安恒信息技术股份有限公司 --no-open ``` --- ## 🔧 使用方法 ### 一、基础命令行参数 | 参数 | 说明 | |-----------|----------------| | `-n` | 指定单个公司名称 | | `-f` | 读取 TXT 文件,每行一个公司名称 | | `-c` | 包含公司名列的 CSV 文件(支持列名:公司 / 公司名称) | | `--no-open` | 只收集小程序信息,不打开小程序和监听解包| --- ### 二、示例用法 #### 1. 指定单个公司进行小程序搜集和解包分析 ```bash python main.py -n "杭州安恒信息技术股份有限公司" ``` #### 2. 从 TXT 批量导入公司名并处理 ```bash python main.py -f companies.txt ``` TXT 示例(每行一个): ``` 腾讯科技(深圳)有限公司 阿里云计算有限公司 华为技术有限公司 ``` #### 3. 从 CSV 文件导入公司列进行处理 ```bash python main.py -c company_list.csv ``` > ⚠️ CSV 文件中必须包含“公司名称”字段,程序会自动去重。 --- ## 📁 输出说明 - `./result/xxx.json`:保存小程序收集结果(名称、归属、描述等) - `./result/xxx/`:为每个小程序创建一个文件夹,解包提取源代码、敏感 Key、API 接口信息 - `proess.xlsx`:汇总接口信息、敏感 Key、拼接测试接口等内容 --- ## ⚙️ 技术原理说明 ### 1. 小程序信息收集 - 使用 `pywinauto` 实现对 **微信客户端 GUI 的自动化控制(RPA)** - 自动控制微信客户端,搜索输入公司名称,提取当前窗口中可见的小程序信息: - 小程序名称 - 归属公司 - 描述信息 - 标签信息等 - 尝试通过滚动窗口加载更多结果(⚠️ 但受限于 `pywinauto` 控件识别能力,可能存在加载失败的情况) --- ### 2. 自动打开与监听反编译 - 使用 `pywinauto` 实现模拟点击打开小程序 - 启动 `multiprocessing` 并行进程中的监听器,监控小程序反编译输出目录(如 `.wxml`, `.js`, `.json` 等文件的生成) - 当监听到新小程序文件出现时,自动触发后续处理流程: - 提取静态资源 - 分析潜在敏感信息 - 收集小程序所请求的 API 接口列表 ## ⚠️ 局限性说明 虽然 vxhacker 自动化能力强大,但由于技术机制限制,仍存在部分边界情况需要注意: - 小程序列表解析有限:当前通过 pywinauto + UI 控件方式提取小程序搜索结果,但 无法自动向下滑动加载更多条目,因此搜索结果仅限 首屏展示内容。 ## 🔗 参考项目 本项目参考了以下开源项目的实现思路与技术框架,致谢原作者: - https://github.com/eeeeeeeeee-code/e0e1-wx - https://github.com/Hello-Mr-Crab/pywechat ## 📄 License 本项目仅用于安全研究与学习用途,严禁用于非法用途。使用者需自行承担相关责任。