
将文件隐写进MP4/MKV文件中 (Embed files into MP4/MKV files.)
将文件隐写进MP4/MKV文件中
请确保在理解“后缀名”这个词含义的前提下观看以下教程,如不理解,请首先搜索“如何改后缀名”
如果改了后缀还是为 MP4 ,那说明没有开启后缀名显示,请依然搜索上述内容
解压不了(|怎么是视频|密码错误|文件损坏|需要分卷|等)
改 MP4 后缀为 .zip 用 WinRAR 解压
改 MP4 后缀为 .zip 用 WinRAR 解压
改 MP4 后缀为 .zip 用 WinRAR 解压
隐写者简要用法说明
本软件可以把文件或文件夹变成压缩包后“藏”进 MP4/MKV 视频里伪装成视频,这种操作叫隐写,伪装成视频的压缩包称为隐写文件。
生成的隐写视频用播放器播放时就是普通视频;但如果把后缀名改成 .zip,就能用解压软件把里面的隐藏文件提取出来。
支持两种操作方式:
常见解压方法:
.zip,即可解压(推荐用 WinRAR6)。#号模式 打开,或命令行解压。辅助功能:
modules/PW.txt 里逐行写好常用密码,程序解隐写时会自动尝试匹配,免去手动输入。2026/09/20 更新 1.3.11 版本(完整记录见 CHANGELOG.md)
⚠️ 1.3.10 存在重大问题,属于转型中间产物,不建议使用。 该版本的右键菜单在所有安装路径下都无法注册(路径含空格时直接报错,不含空格时静默写入错误的值),CLI 在输入路径以目录分隔符结尾时还会写出自包含压缩包并卡死。请直接使用 1.3.11;已装 1.3.10 的覆盖安装即可,用户数据(
modules\PW.txt、config.json、logs\)不会被覆盖。
&、!、^ 的路径上验证。modules\PW.txt、config.json、logs\;静默安装不再弹窗。_internal/,右键菜单实现归入 context-menu/,发行根目录由 10 目录 / 73 文件收敛为 6 目录 / 8 文件。2026/08/18 更新 1.3.10 版本(⚠️ 存在重大问题,不建议使用,说明见上)
--auto-rename)。! 等特殊字符。2025/06/28 更新 1.3.1 版本
新增工作模式 mp4(zarchiver) ,此模式生成的隐写文件可以被 zarchiver 及 解TMD压 等从开头扫描压缩文件的解压软件解压,但是无法被从尾部扫描压缩包的 WinRAR 解压,可根据情况使用。
作者: 层林尽染
本程序可以将文件或文件夹隐写到视频文件中,或从视频文件中提取隐写的文件或文件夹。程序支持命令行界面 (CLI) 和图形用户界面 (GUI) 两种模式。
GUI 模式: 【推荐】双击直接运行程序,不带任何参数。关于GUI的用法详见演示视频。
CLI 模式: 使用以下参数运行程序:
-i, --input 指定输入文件或文件夹的路径。如果不使用任何参数标签,程序会将第一个未知参数视为输入路径。
-o, --output 1. 指定输出文件名(包含后缀名) [或] 2. 指定输出路径(默认为原文件名+"_hidden.mp4/mkv")。
-p, --password 设置密码 (不指定则无密码)。
-t, --type 设置输出文件类型 (默认为mp4),支持mp4和mkv两种格式。
-c, --cover 指定外壳MP4视频(如果不指定,程序会按照以下顺序搜索:
- 程序同目录下的cover_video文件夹下
- 程序所在目录下
- 输入文件或目录的所在目录下)
-r, --reveal 执行解除隐写 (如果输入文件不是隐写文件则不进行任何操作)
隐写文件:
python Steganographier.py -i "input.txt" -o "output.mp4" -p "password" -t "mp4" -c "cover.mp4"
python Steganographier.py -i "input.txt" -o "outputFolder" -p "password" -t "mp4" -c "cover.mp4"
隐写文件夹:
python Steganographier.py -i "inputFolder" -o "outputFolder" -p "password" -t "mp4"
python Steganographier.py -i "inputFolder" -o "output.mp4" -p "password" -t "mp4"
解除隐写提取文件:
python Steganographier.py -i "input.mp4" -r -p "password"
若仅指定输入文件,则使用默认设置:
python Steganographier.py "input.txt"
_hidden.mp4/mkv。_hidden.mp4/mkv。cover_video 文件夹cover_video 文件夹。如果该文件夹存在,程序会在其中搜索 .mp4 文件。如果该文件夹不存在,程序会跳过这一步,继续在其他位置搜索。Full Changelog: https://github.com/cenglin123/SteganographierGUI/compare/v1.1.0...v1.1.1
为了探索秒传链接失效之后国内网盘资源分享的安全问题,本文推荐了一种以 MP4 文件为外壳的文件隐写方法,并进行了压力测试 ,初步证明了方法的有效性。同时分享了对使用隐写技术时的一些经验和使用建议。通过进一步控制变量测试 ,探讨了评论区地毯式炸链的机制,得出其原因是恶意举报,证明了隐写文件的优势:①无法在线解压,②违规可申诉。然后讨论了百度网盘的审核机制以及举报的原理。提出了应对恶意举报的一些策略。
本程序的代码在 GitHub 上开源,大家有任何建议欢迎提 issue。
如今,国内各大网盘审查政策日趋严格,分享链接炸链的可能性越来愈大。
传统来说,我们采用带密码的多层压缩包/分卷压缩包来应对审查问题。这样的做法非常麻烦,并且当层数多、文件大时,频繁解压对于硬盘的损耗也是难以忽视的。围绕这个问题,过去产生了多种利用网盘特性进行秒传的解决方案,但是随着网盘政策的收紧,这些方案大多已经失效或名存实亡 。
秒传方案失效以后,基于国内网盘的资源分享重新回到了加密压缩包的形式,分享者开始不可避免地要和网盘的分享及审核系统打交道,加之举报分享链接的资源倒卖者 (倒狗) 横行,炸链又开始频频出现,有时候甚至地毯式发生,分享环境日趋恶劣 。
综上,这使得研究和开发更加隐蔽、安全的数据传输方法变得尤为重要,在这样的艰难情况下,本文介绍的文件隐写技术有望成为后秒传时代的安全分享新方案。
本程序受到仓库文章(以下简称文章[1])的启发,利用文件隐写技术来隐藏数据从而绕过常规审查。
隐写技术通过将数据嵌入到其他媒体文件中,使数据的存在对于普通观察者而言不可见,从而实现在不引起注意的情况下进行信息传输。
隐写技术已经有很多先例,传统做法主要有 图种[X7] ,即把数据嵌入图片中,表面上看起来是一张图片,但修改后缀名后可以解压然后得到隐藏的数据。
图种的原理如下:
copy /b "图片.jpg" + "压缩包.zip" "生成目标.jpg"
但是这样的做法容易引起怀疑,毕竟一张清晰度分辨率都并不算高的图片居然有几个G,并且还有非常高的下载转存记录,这实在太可疑了[1]。
因此,考虑伪装的有效性,使用 MP4 文件作为隐写的外壳文件更为合理一些,大视频引起怀疑的可能性显然低于大图片。
我们的目标是通过隐写伪装来降低可疑度,从而尽可能以最低的成本实现安全分享。因为假如被频繁举报,即使压缩包层数再多,密码再复杂,在已经被强烈怀疑的情况下大概也回天乏术。因为对于网盘而言,无法解密又被大量举报的文件最省事的方式就是一刀切判定违规(参考这个试验[5])。
自然界最好的防御不是叠甲,而是伪装。
具体实现方面:将 ZIP 格式的压缩包嵌入到比如海绵宝宝这样的普通 MP4 视频文件中,当文件以 MP4 格式被打开时,只能看到海绵宝宝的视频,看不到 ZIP 部分;而当文件名改为 ZIP 以后,解压软件(如WinRAR)可以寻找到 ZIP 部分进行正常解压。如此实现文件的低成本安全分享。
虽然文章[1]提供了一个有效的代码实现用于文件隐写,但该方法缺乏一个简单易用的操作界面,这限制了其推广与普及。
本程序在文章[1]的基础上进行简化,开发了一个包含图形用户界面(GUI)的隐写程序,使用户能够通过简单的拖放和点击操作完成文件的隐写和解隐写。
2024.4.24 新增:根据文章[2]提出的方法,也可以把文件以附件的形式嵌入到MKV文件中,在 v1.0.2 版本中新增了此逻辑。
本程序允许通过输入密码和拖入文件的方式来直接进行文件的隐写和解隐写。
程序具有以下特点:
(1) 一体化:既可以进行隐写,也可以在同一个界面进行解除隐写操作,提升了程序的整体效率和便利性。
(2) 拖放功能:支持拖放文件或文件夹到指定区域,简化了文件选择的过程。
(3) 通用性:产生的隐写 MP4 文件可以手动修改后缀名解压,并不强制要求使用本程序。
(4) 密码保护:必须输入密码才能进行隐写或解隐写操作。 v1.0.6 版后允许不指定密码。
(5) CLI 调用: 可在终端窗口中使用指令操作,或被其他应用作为第三方程序调用(1.1.0版本更新)
(6) 右键菜单集成:可以集成到鼠标右键菜单,以类似常见压缩软件的逻辑进行操作(1.2.0版本更新)
哈希修改器的适用场景为传火、补档 或者传和谐文件到网盘 前处理工作,上传文件之前需要修改哈希值以防止炸链牵连到原分享文件。
哈希修改的原理类似于隐写,在文件的后面贴 1 个随机字节,使得文件的 MD5 值发生变化。
注意隐写者本身会自动进行哈希随机化处理,哪怕原文件是同一个,每次生成的隐写文件哈希值都不一样,正常隐写文件时不必考虑哈希值问题。
使用验证码生成器处理提取码,可以防止被爬虫爬取到链接
示例如下: