基于 Rust + Vue 3 的微信数据导出工具,支持微信 4.0+ 版本。
点击展开查看完整功能列表
- ✅ 进程管理(进程枚举、进程句柄管理、查找 WeChat.exe 进程)
- ✅ 内存操作(内存读取、内存搜索、内存映射查询、字符串和指针读取)
- ✅ 版本适配(版本号解析、地址长度检测、偏移量管理)
- ✅ 微信信息获取(获取微信账号、昵称、手机号、邮箱、密钥、目录路径)
- ✅ 数据库解密(SQLite 数据库解密、支持批量解密、AES-256-CBC 解密算法)
- ✅ 文件版本信息读取(获取微信版本信息)
- ✅ 多进程支持(支持微信多开场景)
- ✅ 版本偏移量自动检测(通过内存搜索特征码自动定位偏移量,无需手动配置)
- ✅ Protobuf解析器(解析微信消息中的BytesExtra字段,优先使用Protobuf解析)
- ✅ 数据库查询优化(索引优化、缓存机制,提升查询性能)
- ✅ 错误处理增强(扩展错误类型,提供用户友好的错误消息)
- ✅ 聊天记录读取(从解密后的数据库读取聊天记录)
- ✅ 聊天记录搜索(支持关键词搜索)
- ✅ 聊天记录筛选(按时间、联系人、消息类型筛选)
- ✅ 数据导出(支持CSV、JSON、HTML格式导出)
- ✅ 统计分析(聊天数据统计、可视化图表、活跃度分析、联系人分析)
- ✅
POST /api/wx/info- 获取微信信息 - ✅
GET /api/wx/info/:pid- 根据进程ID获取微信信息 - ✅
GET /api/wx/version/list- 获取支持的版本列表 - ✅
POST /api/wx/version/offs- 添加版本偏移量配置 - ✅
POST /api/wx/decrypt- 解密数据库 - ✅
POST /api/chat/contacts- 获取联系人列表 - ✅
GET /api/chat/contacts/:wxid- 获取联系人详情 - ✅
POST /api/chat/msg/count- 获取消息数量统计 - ✅
POST /api/chat/msg/list- 获取消息列表 - ✅
POST /api/chat/msg/search- 搜索消息 - ✅
POST /api/export/csv- 导出CSV格式 - ✅
POST /api/export/json- 导出JSON格式 - ✅
POST /api/export/html- 导出HTML格式 - ✅
POST /api/export/dedb- 导出解密后的数据库 - ✅
POST /api/export/endb- 导出加密的数据库 - ✅
GET /swagger-ui/*- Swagger UI API文档 - ✅
GET /api-doc/openapi.json- OpenAPI规范文档 - ✅
GET /health- 健康检查
- ✅ 首页(显示微信信息、获取微信信息按钮、多进程信息展示)
- ✅ 聊天记录页面(消息列表展示、搜索、筛选)
- ✅ 联系人页面(联系人列表、详情查看)
- ✅ 收藏页面(收藏列表展示)
- ✅ 朋友圈页面(朋友圈动态展示)
- ✅ 统计分析页面(数据统计和可视化)
- ✅ 数据导出页面(支持多种格式导出)
- ✅ 工具页面(数据库合并、清理等工具)
- ✅ 设置页面(配置管理)
- ✅ 基础框架(Vue 3 + Vite 8 + UnoCSS + Pinia)
- ✅ API 封装(Axios 配置、API 接口封装、错误处理)
- ✅ 骨架屏组件(SkeletonLoader,提升加载体验)
- ✅ 图片懒加载指令(使用Intersection Observer API实现按需加载)
- ✅ 虚拟滚动支持(@tanstack/vue-virtual依赖)
- ✅ 单元测试覆盖(核心模块、数据库模块、文件版本、内存操作、内存映射、联系人、收藏、媒体、朋友圈、消息查询等)
- ✅ OpenAPI文档(Swagger UI集成)
- ✅ 自动提交脚本(PowerShell/Batch/Bash)
- ✅ Git 配置(SSH 方式)
- Rust - 系统级编程语言,高性能
- Axum - 异步 Web 框架
- windows-rs - Windows API 绑定
- rusqlite - SQLite 数据库
- utoipa - OpenAPI文档生成
- utoipa-swagger-ui - Swagger UI集成
- prost - Protobuf解析库
- Vue 3 - 渐进式前端框架
- Vite 8 - 下一代前端构建工具
- UnoCSS - 原子化 CSS 引擎
- Pinia - 状态管理
- Axios - HTTP客户端
- @tanstack/vue-virtual - 虚拟滚动支持
wx-dump-4/
├── backend/ # Rust 后端
│ ├── src/
│ │ ├── api/ # API 路由
│ │ │ ├── wx_info/ # 微信信息API
│ │ │ ├── decrypt/ # 数据库解密API
│ │ │ ├── chat/ # 聊天记录API
│ │ │ ├── statistics/ # 统计分析API
│ │ │ ├── media/ # 媒体文件API
│ │ │ ├── export/ # 数据导出API
│ │ │ ├── favorite/ # 收藏API
│ │ │ ├── moments/ # 朋友圈API
│ │ │ ├── merge/ # 数据库合并API
│ │ │ ├── cleanup/ # 清理工具API
│ │ │ ├── tools/ # 工具API
│ │ │ └── openapi.rs # OpenAPI文档
│ │ ├── core/ # 核心功能
│ │ │ ├── process.rs # 进程管理
│ │ │ ├── memory.rs # 内存操作
│ │ │ ├── memory_map.rs # 内存映射
│ │ │ ├── version.rs # 版本适配
│ │ │ ├── version_detection.rs # 版本偏移量自动检测
│ │ │ ├── wx_info.rs # 微信信息获取
│ │ │ ├── decryption.rs # 数据库解密
│ │ │ └── file_version.rs # 文件版本信息
│ │ ├── db/ # 数据库处理
│ │ │ ├── contact.rs # 联系人处理
│ │ │ ├── msg.rs # 消息处理
│ │ │ ├── media.rs # 媒体处理
│ │ │ ├── favorite.rs # 收藏处理
│ │ │ ├── sns.rs # 朋友圈处理
│ │ │ ├── bytes_extra.rs # BytesExtra解析
│ │ │ ├── protobuf_parser.rs # Protobuf解析器
│ │ │ └── ...
│ │ ├── models/ # 数据模型
│ │ ├── config/ # 配置管理
│ │ └── utils/ # 工具函数
│ └── Cargo.toml
├── frontend/ # Vue 3 前端
│ ├── src/
│ │ ├── views/ # 页面
│ │ │ ├── Home.vue # 首页
│ │ │ ├── Chat.vue # 聊天记录
│ │ │ ├── Contacts.vue # 联系人
│ │ │ ├── Favorite.vue # 收藏
│ │ │ ├── Moments.vue # 朋友圈
│ │ │ ├── Statistics.vue # 统计分析
│ │ │ ├── Export.vue # 数据导出
│ │ │ ├── Tools.vue # 工具
│ │ │ ├── Cleanup.vue # 清理
│ │ │ └── Settings.vue # 设置
│ │ ├── components/ # 组件
│ │ │ ├── SkeletonLoader.vue # 骨架屏组件
│ │ │ └── ...
│ │ ├── directives/ # 指令
│ │ │ └── lazyLoad.js # 图片懒加载指令
│ │ ├── api/ # API 调用
│ │ └── router/ # 路由
│ └── package.json
├── auto-commit.ps1 # 自动提交脚本
├── auto-commit.bat
├── auto-commit.sh
├── README.md
└── USAGE.md
cd backend
cargo run后端服务运行在 http://localhost:3000
cd frontend
npm install
npm run dev前端服务运行在 http://localhost:5173
- 批量导出(支持导出多个会话)
- 导出文件压缩支持(ZIP格式)
- 词云图前端展示组件(后端API已完成)
- 更多可视化图表类型(饼图、散点图等,已有折线图和柱状图)
- 数据导出为图片/PDF
- 自动检测版本偏移量(无需手动配置)✅
- 更多微信 4.0+ 版本支持(完善版本兼容性)
- 文件版本信息自动识别(自动匹配偏移量)
- 性能优化(内存搜索性能优化、数据库索引优化、缓存机制)✅
- 错误处理增强(更完善的错误提示和处理)✅
- 聊天记录页面完善(聊天界面 UI/UX 优化)
- 设置页面功能(配置管理、主题切换等)✅
- 响应式设计优化(移动端适配,基础支持已完成)✅
- 暗色主题支持 ✅
- 权限要求:需要管理员权限运行(用于读取进程内存)
- 系统要求:仅支持 Windows 系统
- 版本支持:基础支持 4.0+,支持自动检测版本偏移量,也支持手动配置偏移量
- 仅供学习交流使用:本项目仅供学习交流使用,请勿用于非法用途
点击展开查看故障排除指南
解决方案:
- 确保微信已启动并登录
- 确保以管理员权限运行程序
- 检查微信版本是否支持(4.0+)
解决方案:
- 确保已成功获取微信密钥
- 检查数据库文件是否存在
- 确认数据库文件未被其他程序占用
解决方案:
- 确保后端服务已启动(
http://localhost:3000) - 检查前端配置中的 API 地址
- 查看浏览器控制台的错误信息
解决方案:
- 确保 Rust 工具链已正确安装
- 运行
cargo clean清理缓存 - 检查依赖版本是否兼容
查看完整的提交历史:Git提交记录
点击展开查看最近更新
- 项目基础结构
- Rust后端核心框架
- Vue3前端基础框架
- 微信信息获取(基础)
- 数据库解密(基础)
- Git配置和自动提交脚本
- 版本偏移量配置导入
- 版本偏移量自动检测(通过内存搜索特征码自动定位偏移量)
- Protobuf解析器(解析微信消息中的BytesExtra字段)
- 数据库查询优化(索引优化、缓存机制)
- 错误处理增强(扩展错误类型,用户友好的错误消息)
- OpenAPI文档集成(Swagger UI)
- 前端体验优化(骨架屏组件、图片懒加载、虚拟滚动支持)
- 单元测试完善(核心模块、数据库模块全面测试覆盖)
- 聊天记录功能(读取、展示、搜索、筛选)
- 数据导出功能(CSV、JSON、HTML格式导出)
- 统计分析功能(数据统计、可视化图表、活跃度分析、联系人分析)
- 界面优化(设置页面、响应式设计、暗色主题支持)
- 批量导出功能(支持导出多个会话)
- 统计分析功能增强(词云图前端展示、更多图表类型)
- 数据导出增强(ZIP压缩、图片/PDF导出)
- 更多微信版本支持(完善版本兼容性)
- 文件版本信息自动识别(自动匹配偏移量)
- 聊天记录页面UI/UX优化
本项目采用MIT许可证。
欢迎提交Issue和Pull Request!
如果这个项目对你有帮助,欢迎通过微信赞赏支持开发者继续改进项目!
遇到问题需要帮助?欢迎加入付费技术支持咨询交流QQ群,与开发者和其他用户交流!