1 个不稳定版本
0.1.0 | 2024年7月1日 |
---|
#713 在 命令行工具
9KB
80 行
Signal 消息计数器
Signal 消息计数器是一个用于分析和可视化存储在 SQLite 数据库中的 Signal 桌面应用程序消息的工具。
入门
1. 获取 SQLite 数据库
根据您的操作系统,定位 Signal SQLite 数据库
- Linux:
~/.config/Signal/sql/db.sqlite
- Mac:
~/Library/Application Support/Signal/sql/db.sqlite
- Windows:
C:\Users\<YourName>\AppData\Roaming\Signal\sql\db.sqlite
(确切路径可能不同)
2. 解密并将 SQLite 数据库转换为 CSV 格式
Signal SQLite 数据库使用 SQLCipher 进行加密。您需要按照以下步骤解密它并将其转换为 CSV 格式
先决条件
请确保已安装以下软件
- sqlcipher:最新版本(例如,3.31.0 或更高版本),用于解密加密的 SQLite 数据库。
解密脚本
下载解密脚本 sqlite-to-csv.sh 并按照以下步骤操作
- 将脚本保存在您选择的目录中。
- 使其可执行:
chmod +x sqlite-to-csv.sh
。 - 执行脚本:
bash sqlite-to-csv.sh
。
此脚本使用从 config.json
获得的加密密钥解密 Signal SQLite 数据库,提取 JSON 格式的消息数据,并将其写入 backup-desktop.csv
。
要在 Windows 上使用此脚本,请使用 WSL 或将文件传输到 Linux 机器。
分析消息
一旦您有了 backup-desktop.csv
,您可以使用此工具解析和分析 CSV 文件以提取有关消息计数、时间戳和消息类型(传入/传出)的见解。为此,您需要获取您的对话 ID,这可以通过获取所选聊天中最新的消息来完成,在 CSV 文件中进行 CTRL-F 搜索,并在同一行中找到对话 ID。它看起来像 d37673ee-9d18-4294-be46-30e755a1406
用法:signalmessagecounter<文件路径> <会话ID>
许可证
该项目采用BSD 2-Clause许可证,详细信息请参阅许可证文件。
依赖项
约2.6-3.5MB
约59K SLoC