修改readme,添加计划

This commit is contained in:
xaoyo 2023-11-25 18:15:42 +08:00
parent ab71062aac
commit d0fe2ecd29
4 changed files with 45 additions and 5 deletions

View File

@ -16,6 +16,7 @@
<details>
<summary><strong>更新日志(点击展开)</strong></summary>
* 2023.11.25 聊天记录查看工具bootstrap更换国内cdn
* 2023.11.22 添加all命令中解密错误数据日志写入文件,修复部分bug
* 2023.11.16 增加聊天记录导出为html
* 2023.11.15 添加test文件添加自动构建可执行文件的脚本,添加版本描述
@ -46,11 +47,22 @@
</details>
**更新计划**
* 1.每个人聊天记录分析,生成词云。
* 2.分析每个人每天的聊天数量,生成折线图(天-聊天数量)
* 3.分析不同的人的月聊天数量,年聊天数量,生成折线图
* 4.创建GUI图形界面方便使用
注: 欢迎大家提供更多的想法,或者提供代码,一起完善这个项目。
# 一、项目介绍
## 1. 项目简介
[PyWxDump](https://github.com/xaoyaoo/PyWxDump)是一款用于获取账号信息(昵称/账号/手机/邮箱/数据库密钥)、解密数据库、查看聊天记录、备份导出聊天记录为html的工具。
[PyWxDump](https://github.com/xaoyaoo/PyWxDump)是一款用于获取账号信息(昵称/账号/手机/邮箱/数据库密钥)
、解密数据库、查看聊天记录、备份导出聊天记录为html的工具。
支持多账户信息获取,支持所有微信版本。
@ -167,6 +179,7 @@ git clone https://github.com/xaoyaoo/PyWxDump.git
cd PyWxDump
python -m pip install -U .
```
</details>
## 2. 使用
@ -341,7 +354,6 @@ else:
请勿利用本项目的相关技术从事非法测试,如因此产生的一切不良后果与项目作者无关。
# 四、许可证
```text

View File

@ -284,5 +284,18 @@ def wordcloud_generator(text, out_path="", is_show=False, img_path="", font="C:\
wordcloud_img.show()
def read_BytesExtra(data):
if data[0:2] == '0x':
data = data[2:]
data = bytes.fromhex(data)
print(data)
print('*' * 50)
print(data.decode('utf-8', errors='ignore'))
if __name__ == '__main__':
wordcloud_generator("我是中国人,我喜欢吃饭", is_show=True)
data = ''
read_BytesExtra(data)
print('*' * 50)
data2 = ''
read_BytesExtra(data2)

View File

@ -1,3 +1,18 @@
# -*- coding: utf-8 -*-#
# -------------------------------------------------------------------------------
# Name: getwxinfo.py
# Description:
# Author: xaoyaoo
# Date: 2023/08/21
# 微信数据库采用的加密算法是256位的AES-CBC。数据库的默认的页大小是4096字节即4KB其中每一个页都是被单独加解密的。
# 加密文件的每一个页都有一个随机的初始化向量,它被保存在每一页的末尾。
# 加密文件的每一页都存有着消息认证码算法使用的是HMAC-SHA1安卓数据库使用的是SHA512。它也被保存在每一页的末尾。
# 每一个数据库文件的开头16字节都保存了一段唯一且随机的盐值作为HMAC的验证和数据的解密。
# 用来计算HMAC的key与解密的key是不同的解密用的密钥是主密钥和之前提到的16字节的盐值通过PKCS5_PBKF2_HMAC1密钥扩展算法迭代64000次计算得到的。而计算HMAC的密钥是刚提到的解密密钥和16字节盐值异或0x3a的值通过PKCS5_PBKF2_HMAC1密钥扩展算法迭代2次计算得到的。
# 为了保证数据部分长度是16字节即AES块大小的整倍数每一页的末尾将填充一段空字节使得保留字段的长度为48字节。
# 综上加密文件结构为第一页4KB数据前16字节为盐值紧接着4032字节数据再加上16字节IV和20字节HMAC以及12字节空字节而后的页均是4048字节长度的加密数据段和48字节的保留段。
# -------------------------------------------------------------------------------
import argparse
import hmac
import hashlib

View File

@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<title>聊天记录显示</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdn.staticfile.org/bootstrap/4.5.3/css/bootstrap.min.css">
<style>
.left-area {
background-color: #f2f2f2;
@ -97,7 +97,7 @@
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="https://cdn.staticfile.org/bootstrap/4.5.3/js/bootstrap.min.js"></script>
<script>
var globalUsername = ''; // 全局变量
var globalNickname = ''; // 全局变量