Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
whatsapp-media-decrypt — 使用从 iOS ChatStorage.sqlite 或 Android msgstore.db 数据库中提取的媒体密钥,解密 WhatsApp 加密的媒体文件(图片、视频、音频、文档)。 | Kitploit
工具/GitHubGitHub/ddz/whatsapp-media-decrypt
加密/解密工具取证分析移动取证数字取证
GitHubddz/whatsapp-media-decrypt

whatsapp-media-decrypt

使用从 iOS ChatStorage.sqlite 或 Android msgstore.db 数据库中提取的媒体密钥,解密 WhatsApp 加密的媒体文件(图片、视频、音频、文档)。

查看仓库
1k9665年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

WhatsApp 媒体解密

最近一项备受瞩目的法医调查报告 指出,“由于 WhatsApp 采用了端到端加密,实际上无法解密下载器 [.enc 文件] 的内容,以确定除传输视频外是否包含任何恶意代码。”

本项目演示如何解密从 WhatsApp 下载的加密媒体文件。

安装

root@kitploit:~
$ go get github.com/ddz/whatsapp-media-decrypt

用法

root@kitploit:~
用法: ./whatsapp-media-decrypt -o 文件 -t 类型 加密文件 十六进制媒体密钥

选项:
  -o 文件
    	将解密后的输出写入文件
  -t 类型
    	媒体类型 (1 = 图片, 2 = 视频, 3 = 音频, 4 = 文档)

示例

从 iOS ChatStorage.sqlite 中提取媒体密钥

媒体密钥存储在一个 protobuf 消息中,该消息以十六进制编码形式保存在 ZMEDIAKEY 列中。

root@kitploit:~
$ sqlite ChatStorage.sqlite
SQLite version 3.27.2 2019-03-09 15:45:46
Enter ".help" for usage hints.
sqlite> select ZMEDIAURL,ZVCARDSTRING,hex(ZMEDIAKEY) from ZWAMEDIAITEM where Z_PK = 1795;
https://mmg-fna.whatsapp.net/d/f/Atzc5Drr8l7ngis8GmUTMI6vMQNjOU9zGQ2SYRkjwq44.enc|video/mp4|0A2069A349914734B9359DA0CD8923E6DFDE06F1E2BCE23222C738C521570BA8242A1220A1F5AEB2E620F73007FA853200559B2669455BB5818F619397C638042D8F7F2A18B984A5F1052000
sqlite> .quit

从 Android msgstore.db 中提取媒体密钥

媒体密钥以十六进制编码形式存储在 media_key 列中。

root@kitploit:~
$ sqlite msgstore.db
SQLite version 3.27.2 2019-03-09 15:45:46
Enter ".help" for usage hints.
sqlite> select message_url,mime_type,hex(media_key) from message_media where message_row_id = 1337;
https://mmg-fna.whatsapp.net/d/f/AnUpYQ390rgUBOQRhuwCyNqo_9KGATdmLUq-ghYEx-D9.enc|video/mp4|14F9C1B3BB5E66D9A593999A5E0ED3D03ABFECA84320D17763C2B44205E91C17
sqlite> .quit

下载加密的媒体文件

root@kitploit:~
$ curl -O https://mmg-fna.whatsapp.net/d/f/Atzc5Drr8l7ngis8GmUTMI6vMQNjOU9zGQ2SYRkjwq44.enc
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  389k  100  389k    0     0  1966k      0 --:--:-- --:--:-- --:--:-- 1956k

解密媒体文件

root@kitploit:~
$ whatapp-media-decrypt -o Atzc5Drr8l7ngis8GmUTMI6vMQNjOU9zGQ2SYRkjwq44.mp4 -t 2 ./Atzc5Drr8l7ngis8GmUTMI6vMQNjOU9zGQ2SYRkjwq44.enc 0A2069A349914734B9359DA0CD8923E6DFDE06F1E2BCE23222C738C521570BA8242A1220A1F5AEB2E620F73007FA853200559B2669455BB5818F619397C638042D8F7F2A18B984A5F1052000

常见问题

这会破坏 WhatsApp 的加密吗?

不会。WhatsApp 的加密是端到端的,这确保了只有发送者和接收者能读取消息,而中间的服务器(或攻击者!)无法读取。本项目利用存储在某一端点上的加密密钥来解密媒体附件,其方式与 WhatsApp 应用在屏幕上显示附件时完全相同。

这是否意味着我的 WhatsApp 媒体文件未进行静态加密?

不是。WhatsApp 使用 iOS 数据保护 来加密用户数据文件(包括 ChatStorage.sqlite),该加密同时使用了设备特定的、不可恢复的硬件 UID 密钥以及从用户密码派生出的密钥。如果没有物理访问创建该文件的特定 iOS 设备,并且不知道用户的密码,则无法解密这些文件。

你能帮我解密他人的 WhatsApp 吗?

不能。

参考

Engelke, Lucas. go-whatsapp

Graham, Robert. 如何解密 WhatsApp 端到端媒体文件

Marczak, Bill. "贝佐斯黑客案中进一步调查的一些方向"

Sigalor. WhatsApp Web 逆向工程

WhatsApp. WhatsApp 加密概述

下载工具