From 4b7a43fa85e805993e632e5bd256cb35082077ec Mon Sep 17 00:00:00 2001 From: xaoyaoo Date: Thu, 4 Jan 2024 17:13:02 +0800 Subject: [PATCH] update README --- README.md | 55 +++++----- doc/CHANGELOG.md | 11 ++ doc/python1.0_README.md | 219 ---------------------------------------- pywxdump/cli.py | 1 + 4 files changed, 44 insertions(+), 242 deletions(-) delete mode 100644 doc/python1.0_README.md diff --git a/README.md b/README.md index 212c39b..061f38d 100644 --- a/README.md +++ b/README.md @@ -33,8 +33,7 @@ qq交流群:577704006(左边二维码) or 点击链接加入群聊[pywxdum ## 1. 项目简介 -[PyWxDump](https://github.com/xaoyaoo/PyWxDump)是一款用于获取账号信息(昵称/账号/手机/邮箱/数据库密钥) -、解密数据库、查看聊天记录、备份导出聊天记录为html的工具。 +[PyWxDump](https://github.com/xaoyaoo/PyWxDump)是一款用于获取账号信息(昵称/账号/手机/邮箱/数据库密钥)、解密数据库、查看聊天记录、备份导出聊天记录为html的工具。 * 超级想要star,走过路过,帮忙点个[![Star](https://img.shields.io/github/stars/xaoyaoo/PyWxDump.svg?style=social&label=Star)](https://github.com/xaoyaoo/PyWxDump/) @@ -42,17 +41,28 @@ qq交流群:577704006(左边二维码) or 点击链接加入群聊[pywxdum ## 2. 功能介绍 -* (1)获取微信昵称、微信账号、微信手机号、微信邮箱、微信KEY的基址偏移 -* (2)获取微信的微信昵称、微信账号、微信手机号、微信邮箱、微信KEY、微信原始ID(wxid_******) -* (3)获取微信文件夹路径 -* (4)支持查看聊天记录查看 -* (5)根据key解密微信数据库 -* (6)提供数据库部分字段说明 -* (7)支持微信多开场景,获取多用户信息等 -* (8)微信需要登录状态才能获取数据库密钥 -* (9)支持导出聊天记录为html,备份微信聊天记录,方便查看 -* (10)合并多个数据库,方便查看 -* (11)增加极简版pywxdump +#### 2.1 核心功能 + +* (1)获取微信昵称、微信账号、微信手机号、微信邮箱、微信KEY的**基址偏移** +* (2)获取当前登录微信的微信昵称、微信账号、微信手机号、微信邮箱、微信KEY、微信原始ID(wxid_******)、微信文件夹路径 +* (3)根据key解密微信数据库 +* (4)合并多种类型数据库,方便统一查看 + +#### 2.2 扩展功能 + +* (1)通过web查看聊天记录 +* (2)支持导出聊天记录为html、csv,备份微信聊天记录 +* (3)远程查看微信聊天记录(必须网络可达,例如局域网) + +#### 2.3 文档类 + +* (1)提供数据库部分字段说明 +* (2)提供CE获取基址偏移方法 + +#### 2.4 其他功能 + +* (1)增加极简版pywxdumpmini,只提供获取数据库密钥以及数据库位置的功能 +* (2)支持微信多开场景,获取多用户信息等 **利用场景** @@ -60,7 +70,8 @@ qq交流群:577704006(左边二维码) or 点击链接加入群聊[pywxdum 2. 渗透到运维机器(有些运维机器会日常登录自己的微信) 3. 某些工作需要取证(数据库需要拷贝到本地) 4. 自行备份(日常备份自己留存) -5. 等等............... +5. 远程查看聊天记录(通过web查看聊天记录) +6. 等等............... ## 3. 更新计划 @@ -79,20 +90,16 @@ qq交流群:577704006(左边二维码) or 点击链接加入群聊[pywxdum ## 4. 其他 -[PyWxDump](https://github.com/xaoyaoo/PyWxDump)是[SharpWxDump](https://github.com/AdminTest0/SharpWxDump) -的经过重构python语言版本,同时添加了一些新的功能。 +[PyWxDump](https://github.com/xaoyaoo/PyWxDump)是[SharpWxDump](https://github.com/AdminTest0/SharpWxDump)的经过重构的python语言版本,同时添加了很多新的功能。 * 项目地址:https://github.com/xaoyaoo/PyWxDump * 目前只在windows下测试过,mac、linux下可能会存在问题。 -* 如发现[version_list.json](https://github.com/xaoyaoo/PyWxDump/tree/master/pywxdump/version_list.json)缺失或错误, - 请提交[issues](https://github.com/xaoyaoo/PyWxDump/issues). -* 如发现bug或有改进意见, 请提交[issues](https://github.com/xaoyaoo/PyWxDump/issues). -* 如有其他想要的功能, 请提交[issues](https://github.com/xaoyaoo/PyWxDump/issues). -* 常见问题请参考[FAQ](https://github.com/xaoyaoo/PyWxDump/tree/master/doc/FAQ.md) -* 更新日志请参考[CHANGELOG](https://github.com/xaoyaoo/PyWxDump/tree/master/doc/CHANGELOG.md) -* [:sparkling\_heart: Support Me](https://github.com/xaoyaoo/xaoyaoo/blob/main/donate.md) +* 如发现[version_list.json](https://github.com/xaoyaoo/PyWxDump/tree/master/pywxdump/version_list.json)缺失或错误、bug,有改进意见、想要新增功能, 请提交[issues](https://github.com/xaoyaoo/PyWxDump/issues). +* 常见问题请参考[FAQ](https://github.com/xaoyaoo/PyWxDump/tree/master/doc/FAQ.md),更新日志请参考[CHANGELOG](https://github.com/xaoyaoo/PyWxDump/tree/master/doc/CHANGELOG.md) * Web UI的仓库位置 [wxdump_web](https://github.com/xaoyaoo/wxdump_web) +* [:sparkling\_heart: Support Me](https://github.com/xaoyaoo/xaoyaoo/blob/main/donate.md) + ## 5. Star History
@@ -108,6 +115,8 @@ qq交流群:577704006(左边二维码) or 点击链接加入群聊[pywxdum * 极简版使用说明[pywxdumpmini](https://github.com/xaoyaoo/pywxdumpmini) +* 如果你想更改UI,请clone[wx_dump_web](https://github.com/xaoyaoo/wx_dump_web)项目,然后按需修改(该UI采用VUE+ElementUI开发) + 【注】: * 关于基址使用cheat engine获取,参考[CE获取基址.md](https://github.com/xaoyaoo/PyWxDump/tree/master/doc/CE获取基址.md) diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index b8f8328..dc9d91c 100644 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -1,5 +1,16 @@ # 更新日志 +## v2.4.4 (2024-01-04) + +### 新功能 + +- 增加了全新UI,更加美观,更加方便使用 +- 增加了双击使用的方法,直接双击pywxdump.exe即可使用,方便小白使用 + +### 优化 + +- 修复部分bug + ## v2.3.24 # 新功能 diff --git a/doc/python1.0_README.md b/doc/python1.0_README.md deleted file mode 100644 index 8e61f4e..0000000 --- a/doc/python1.0_README.md +++ /dev/null @@ -1,219 +0,0 @@ -#
PyWxDump
- -* 更新日志(发现[version_list.json](./Program/version_list.json) - 缺失或错误,请提交[issues](https://github.com/xaoyaoo/PyWxDump/issues)): - * 2023.10.11 添加"3.9.5.81"版本的偏移地址[#10](https://github.com/xaoyaoo/PyWxDump/issues/10), 感谢@**[sv3nbeast](https://github.com/sv3nbeast)** - * 2023.10.09 获取key基址偏移可以根据微信文件夹获取,不需要输入key - * 2023.10.09 优化代码,删减没必要代码,重新修改获取基址代码,加快运行速度(需要安装新的库 pymem) - * 2023.10.07 修改获取基址内存搜索方式,防止进入死循环 - * 2023.10.07 增加了3.9.7.29版本的偏移地址 - * 2023.10.06 增加命令行解密数据库 - * 2023.09.28 增加了数据库部分解析 - * 2023.09.15 增加了3.9.7.25版本的偏移地址 - -## 一、项目介绍 - -本项目可以获取微信基本信息,以及key,通过key可以解密微信数据库,获取聊天记录,好友信息,群信息等。 - -该分支是[SharpWxDump](https://github.com/AdminTest0/SharpWxDump)的经过重构python语言版本,同时添加了一些新的功能。 - - -超级想要star,走过路过,帮忙点个[![Star](https://img.shields.io/github/stars/xaoyaoo/PyWxDump.svg?style=social&label=Star)](https://github.com/xaoyaoo/PyWxDump/) -呗,谢谢啦~ - -## 二、使用方法 - -### 1. 安装依赖 - -```shell script -pip install -r requirements.txt -``` - -**说明**: - -1. requirements.txt中的包可能不全,如果运行报错,请自行安装缺少的包 -2. 如果运行报错,请检查python版本,本项目使用的是python3.10 -3. 安装pycryptodome时可能会报错,可以使用下面的命令安装,自行搜索解决方案(该包为解密的核心包) - -### 2. 获取微信基本信息 - -获取微信的信息,获取到几个,取决于现在登录的几个微信。 - -**2.1 shell获取微信基本信息** - -```shell script -cd Program -python get_wx_info.py -``` - -结果 - -```shell script -[+] pid: 2365 -[+] version: *.*.*.* -[+] key: ******************************************d -[+] name: ***** -[+] account: ******** -[+] mobile: ****** -[+] mail: ***** -======================================== -[+] pid: 2365 -[+] version: *.*.*.* -[+] key: ******************************************d -[+] name: ***** -[+] account: ******** -[+] mobile: ****** -[+] mail: ***** -======================================== -... -``` - -**2.2 import 调用** - -```python -import json -from Program.get_wx_info import read_info - -version_list = json.load(open("version_list.json", "r", encoding="utf-8")) -data = read_info(version_list) -print(data) -``` - -结果: - -```list -[ - { - 'pid': 5632, - 'version': '*.*.*.*', - 'key': '***************************************', - 'name': '******', - 'account': '******', - 'mobile': '135********', - 'mail': '********' - }, - { - 'pid': 5632, - 'version': '*.*.*.*', - 'key': '***************************************', - 'name': '******', - 'account': '******', - 'mobile': '135********', - 'mail': '********' - }, - ... -] -``` - -**说明**: 每个字段具体含义,参看上一条shell获取微信基本信息 - -### 3. 获取偏移地址 - -* 该方法一般不需要,只有当[version_list.json](./Program/version_list.json)没有对应的微信版本时,可以通过该方法获取偏移地址 -* 如果需要请参考下面的方法获取 - -**3.1 通过python脚本获取** - -```shell -python get_base_addr.py --mobile 152***** --name **** --account *** --key ********** --db_path "****\WeChat Files\wxid_******" -``` - -参数说明: - - 以下参数必选 - mobile = "152********" # 手机号 - name = "******" # 微信昵称 - account = "******" # 微信账号 - # 以上信息可以通过微信客户端获取 - - 以下参数二选一(key获取偏移更快,db_path获取偏移很慢,本地测试需要10-60s) - key = '**********************************************' - # 需要降低版本使用get_wx_info.py获取key,也可以通过CheatEngine等工具获取 - # 最好是保存之前同微、同设备信使用过的key,非常方便 - db_path = "****\WeChat Files\wxid_******" - # 微信文件夹,通过微信客户端,设置-文件管理-微信文件的默认保存位置获取 - -return:{'3.9.7.29': [63486984, 63488320, 63486792, 0, 63488256, 56006136]} - - (十进制)按顺序代表:微信昵称、微信账号、微信手机号、微信邮箱(默认0)、微信KEY、微信原始ID(wxid_******) - -[注]:如果参数错误,得到的对应地址偏移为0,邮箱高版本失效,默认为0 - -**3.2 通过CheatEngine等工具获取** - -具体请查看:[CE获取基址.md](./CE%E8%8E%B7%E5%8F%96%E5%9F%BA%E5%9D%80.md) - -* 该方法获取到的偏移地址需要手动添加到[version_list.json](./Program/version_list.json)中 - -**3.3 最简单获取方法** - -最简单的方法当然是运行 - -```shell -git clone https://github.com/xaoyaoo/PyWxDump.git -``` - -重新拉取一份新的啦~ - -* ps: 该方法不一定能获取到最新的版本 -* 如果需要最新的版本,可以通过上面的方法获取 -* 你也可以提交Issues,分分钟给你更新 - -## 三、获取解密数据库 - -* [decrypt.py](./decrypted/decrypt.py) : 数据库解密脚本 -* [get_wx_decrypted_db.py](./decrypted/get_wx_decrypted_db.py) :直接读取当前登录微信的数据库,解密后保存到当前目录下的decrypted文件夹中 - -[注]:每台设备、每个微信账号对应一个key,切换设备或者微信账号,key都会变化 - -![image](https://user-images.githubusercontent.com/33925462/179410883-10deefb3-793d-4e15-8475-a74954fafe19.png) - -* 解密后可拖入数据库工具查找敏感信息 -* 还有一份数据的说明文档,但是我累了,不想写了 - -**方法** - -进入目录[decrypted](./decrypted) - -```shell -python decrypt.py --key ******** --db_path ./decrypted/decrypted.db --out_path ./decrypted/decrypted.db -``` - -[注]:--key为数据库密钥,--db_path为数据库路径,--out_path为解密后的数据库路径(解密后的路径目录必须存在) - -自动根据注册表读取本地微信聊天记录文件夹,解密后保存到当前目录下的decrypted文件夹中 - -```shell -python get_wx_decrypted_db.py --key ******** -``` - -## 四、解析数据库 - -* [parse.py](../pywxdump/analyzer/parse.py) : 数据库解析脚本,可以解析语音、图片、聊天记录等 -* 关于各个数据库的说明文档,请查看[wx数据库简述.md](./wx数据库简述.md) - -未完待续... - -## 五、支持功能 - -1. 支持微信多开场景,获取多用户信息等 -2. 微信需要登录状态才能获取数据库密钥 - -**版本差异** - -1. 版本 < 3.7.0.30 只运行不登录能获取个人信息,登录后可以获取数据库密钥 -2. 版本 > 3.7.0.30 只运行不登录不能获取个人信息,登录后都能获取 - -**利用场景** - -1. 钓鱼攻击(通过钓鱼控到的机器通常都是登录状态) -2. 渗透到运维机器(有些运维机器会日常登录自己的微信) -3. 某些工作需要取证(数据库需要拷贝到本地) -4. 自行备份(日常备份自己留存) -5. 等等............... - -## 六、免责声明(非常重要!!!!!!!) - -本项目仅允许在授权情况下对数据库进行备份,严禁用于非法目的,否则自行承担所有相关责任。使用该工具则代表默认同意该条款; - -请勿利用本项目的相关技术从事非法测试,如因此产生的一切不良后果与项目作者无关。 \ No newline at end of file diff --git a/pywxdump/cli.py b/pywxdump/cli.py index f9ed48a..895e37f 100644 --- a/pywxdump/cli.py +++ b/pywxdump/cli.py @@ -328,6 +328,7 @@ class MainAll(): return wxdbpaths = [i for i in wxdbpaths if "Backup.db" not in i and "xInfo.db" not in i] # 过滤掉无需解密的数据库 + wxdbpaths = [i for i in wxdbpaths if "MicroMsg" in i or "MediaMSG" in i or r"Multi\MSG" in i] # 过滤掉无需解密的数据库 wxdblen = len(wxdbpaths) print(f"[+] 共发现 {wxdblen} 个微信数据库") print("=" * 32)