diff --git a/README.md b/README.md
index 2138c2d..0ae6d59 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,7 @@
更新日志(点击展开):
+* 2023.11.25 聊天记录查看工具bootstrap更换国内cdn
* 2023.11.22 添加all命令中解密错误数据日志写入文件,修复部分bug
* 2023.11.16 增加聊天记录导出为html
* 2023.11.15 添加test文件,添加自动构建可执行文件的脚本,添加版本描述
@@ -46,11 +47,22 @@
+
+**更新计划**
+
+* 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 .
```
+
## 2. 使用
@@ -341,7 +354,6 @@ else:
请勿利用本项目的相关技术从事非法测试,如因此产生的一切不良后果与项目作者无关。
-
# 四、许可证
```text
diff --git a/pywxdump/analyse/parse.py b/pywxdump/analyse/parse.py
index fd9d8af..239648e 100644
--- a/pywxdump/analyse/parse.py
+++ b/pywxdump/analyse/parse.py
@@ -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)
diff --git a/pywxdump/decrypted/decrypt.py b/pywxdump/decrypted/decrypt.py
index e04efeb..25b419a 100644
--- a/pywxdump/decrypted/decrypt.py
+++ b/pywxdump/decrypted/decrypt.py
@@ -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
diff --git a/pywxdump/show_chat/templates/index.html b/pywxdump/show_chat/templates/index.html
index dcc56b5..d4d4d64 100644
--- a/pywxdump/show_chat/templates/index.html
+++ b/pywxdump/show_chat/templates/index.html
@@ -3,7 +3,7 @@
聊天记录显示
-
+