- 后端
- CLI
- MCP 服务
- 即时通讯
- RAG
- 人工智能
- AI 技能
【免费下载链接】chatlog_alpha
原 [chatlog]项目(一个微信数据库解密读取及提供mcp服务、http服务的开源软件),现已支持通过微信clawbot接口推送消息,可以实时转发全部或指定消息到clawbot
Chatlog Alpha 是一款微信数据库解密读取工具,内置媒体读取能力:通过简单的 HTTP 接口,一键访问聊天记录中的图片、视频、语音与文件,自动完成.dat解密与语音格式转换,让你无需手动翻找文件目录。
为什么需要媒体读取功能?
微信的聊天媒体并不是"裸文件":
- 图片:本地以加密的
.dat文件存储(还分_h.dat高清图、_b.dat中图、_t.dat缩略图),直接用图片软件打不开 - 语音:采用 SILK 编码,普通播放器不支持
- 视频/文件:散落在
msg/attach等深层目录,文件名是一串 MD5,难以人工定位
Chatlog Alpha 的媒体读取模块把这些"脏活"全部接管了:你只需要一个媒体 key(MD5),剩下的定位、解密、转码、缓存全部自动完成。🔓
核心实现位于 internal/chatlog/http/route.go,媒体路由在
initMediaRouter中注册。
准备工作:获取密钥是前提
媒体读取依赖两类密钥,均通过 TUI 引导完成:
- 数据库密钥:TUI 中执行"重启并获取数据库密钥",按 6 步进度完成(Frida 挂载 → 收集候选 → 逐库验证)
- 图片密钥:仅当需要查看加密图片时执行"获取图片密钥"。若界面提示需要验证样本,优先在微信朋友圈打开一张图片(部分版本打开聊天图片不会生成可识别样本)
完成后即可启动 HTTP 服务,浏览器访问http://127.0.0.1:5030/进入 Web 控制台。详细安装步骤见 README.md。
一键访问四种媒体:接口速查表
媒体接口统一挂在 HTTP 服务(默认端口5030)上,key 即消息里记录的图片/视频 MD5:
| 媒体类型 | 接口 | 行为 |
|---|---|---|
| 图片 | GET /image/{key} | 自动解密.dat,按 高清_h→ 中图_b→ 原图 → 缩略图_t优先级挑选最佳清晰度 |
| 视频 | GET /video/{key} | 定位msg/attach下的.mp4/.mov并直接返回 |
| 语音 | GET /voice/{key} | SILK 自动转码为MP3流式播放 |
| 文件 | GET /file/{key} | 302 重定向到文件本体,可直接下载 |
| 原始路径 | GET /data/{path} | 按相对路径读取任意已解密媒体 |
几个贴心的细节:
- 多清晰度智能选择:同一张图在磁盘上可能有多个
.dat变体,route.go 中的imageDATSuffixesByPriority会按优先级挑出最清晰的一份 - 自动解密缓存:
.dat首次解密后,解密结果会以.jpg/.png等真实扩展名保存到旁边(handleImageFile),第二次访问直接命中缓存,速度飞快 - 密钥自愈:若解密报 AES padding 错误,服务会自动从当前微信进程刷新一次图片密钥并重试(route.go)
- 安全边界:
/data路径会做..穿越检查,只允许读取数据目录内的文件,服务建议仅监听127.0.0.1
图片解密核心在 pkg/util/dat2img/dat2img.go,语音转码核心在 pkg/util/silk/silk.go。
实战:从 Web 控制台到命令行
方式一:Web 控制台(推荐新手)
在 Web 界面浏览会话历史时,消息中的图片、视频、语音可直接点击预览——前端把消息里的md5拼进上表接口即可,无需任何配置。朋友圈页面还自带媒体代理:服务端自动下载 CDN 加密媒体、按密钥流解密并本地缓存(sns_media.go),接口为GET /api/v1/sns/media/proxy?url=...&key=...,解密结果缓存在工作目录.chatlog_sns_cache/中,重复访问秒开。
方式二:CLI 批量操作
不想开浏览器?内置的chatlog http命令组可以直接拉取媒体:
# 列出全部可调用接口(含 image/video/voice/file/data 别名) ./chatlog http list # 按 key 读取一张图片,保存到本地 ./chatlog http call --endpoint image \ --path-param key=b309f8f81716aff9e1c9dded3bec74e7 \ --output photo.jpg # 拉取语音(已转 MP3) ./chatlog http call --endpoint voice \ --path-param key=3c8e1f0a5d2b47c9a6e8f01d2c3b4a5f \ --output voice.mp3--output会把响应体直接写入文件,方便脚本批量归档。完整接口别名与参数说明见 skills/chatlog-http-cli/SKILL.md。
常见问题排查 💡
| 症状 | 原因与解法 |
|---|---|
| 图片返回报错/花屏 | 图片密钥未获取或已失效,重新执行"获取图片密钥";仍失败时服务会自动刷新密钥重试一次 |
| 语音无法播放 | 非 CGO 构建(如 Windows arm64)缺少 SILK 转码依赖,接口会降级返回原始audio/silk |
| 视频 404 | 该视频仅有远端 CDN 链接未落盘,或微信清理过本地文件;可先确认微信端是否已删除 |
| 图片返回的是缩略图 | 正常现象仅发生在高清图文件缺失时,程序按_h → _b → 原图 → _t降级,属设计行为 |
| 页面打不开 | 确认 TUI 已提示"已启动 HTTP 服务",且5030端口未被占用 |
小结
Chatlog Alpha 的媒体读取把"找文件 → 解密 → 转码"整条链路压缩成了一个 key 一次请求:
- TUI 完成密钥提取,启动 HTTP 服务
- Web 控制台点击即看,或
chatlog http call命令行批量下载 - 图片自动解密缓存、语音自动转 MP3、朋友圈媒体代理免手工处理
全部数据只在本机流转,建议保持默认监听地址127.0.0.1:5030,并妥善保管密钥文件(all_keys.json默认0600权限)。现在就去翻翻你的微信媒体库吧!📸
- 后端
- CLI
- MCP 服务
- 即时通讯
- RAG
- 人工智能
- AI 技能
【免费下载链接】chatlog_alpha
原 [chatlog]项目(一个微信数据库解密读取及提供mcp服务、http服务的开源软件),现已支持通过微信clawbot接口推送消息,可以实时转发全部或指定消息到clawbot
相关推荐
CANN动态Shape与动态AIPP推理:如何高效部署可变输入的AI模型?完整指南
CANN动态Shape与动态AIPP推理:如何高效部署可变输入的AI模型?完整指南 在昇腾AI推理部署中,CANN动态Shape推理与动态AIPP预处理是解决"
文档CANN人工智能如何用Universal Extractor 2轻松提取多媒体文件:音频、视频和动画帧全攻略
如何用Universal Extractor 2轻松提取多媒体文件:音频、视频和动画帧全攻略 Universal Extractor 2是一款功能强大的文件提取
桌面应用Markdig 媒体链接扩展 MediaLinks 完全指南:一行图片语法嵌入视频与音频
Markdig 媒体链接扩展 MediaLinks 完全指南:一行图片语法嵌入视频与音频 Markdig 的 MediaLinks 扩展允许在 Markdown
开发工具
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考