Home

Awesome

SteganographierGUI

将文件隐写进MP4/MKV文件中

更新

隐写者 GUI&CLI两用的MP4/MKV隐写程序

作者: 层林尽染

使用说明

本程序可以将文件或文件夹隐写到视频文件中,或从视频文件中提取隐写的文件或文件夹。程序支持命令行界面 (CLI) 和图形用户界面 (GUI) 两种模式。

  1. GUI 模式: 【推荐】双击直接运行程序,不带任何参数。关于GUI的用法详见演示视频

  2. CLI 模式: 使用以下参数运行程序:

    -i, --input     指定输入文件或文件夹的路径。如果不使用任何参数标签,程序会将第一个未知参数视为输入路径。
    -o, --output    1. 指定输出文件名(包含后缀名) [或] 2. 指定输出路径(默认为原文件名+"_hidden.mp4/mkv")。
    -p, --password  设置密码 (不指定则无密码)。
    -t, --type      设置输出文件类型 (默认为mp4),支持mp4和mkv两种格式。
    -c, --cover     指定外壳MP4视频(如果不指定,程序会按照以下顺序搜索:
                       - 程序同目录下的cover_video文件夹下
                       - 程序所在目录下
                       - 输入文件或目录的所在目录下)
    -r, --reveal    执行解除隐写 (如果输入文件不是隐写文件则不进行任何操作)
    

使用示例

  1. 隐写文件:

    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"
    
  2. 隐写文件夹:

    python Steganographier.py -i "inputFolder" -o "outputFolder" -p "password" -t "mp4"
    python Steganographier.py -i "inputFolder" -o "output.mp4" -p "password" -t "mp4"
    
  3. 解除隐写提取文件:

    python Steganographier.py -i "input.mp4" -r -p "password"
    
  4. 若仅指定输入文件,则使用默认设置:

    python Steganographier.py "input.txt"
    

注意事项

  1. 如果没有指定输出文件路径,程序会在输入文件同目录下创建默认的输出文件,文件名为原文件名 + _hidden.mp4/mkv
  2. 如果指定了输出路径但没有指定文件名,程序会在指定输出路径下创建一个默认的输出文件,文件名为原文件名 + _hidden.mp4/mkv
  3. 如果输入路径是一个文件夹,程序将隐写整个文件夹。
  4. 如果没有指定外壳MP4视频,程序会按照以下顺序搜索:
    • 程序同路径下的 cover_video 文件夹
    • 程序所在目录
    • 输入文件或目录的父目录
  5. 程序会在程序同路径下查找 cover_video 文件夹。如果该文件夹存在,程序会在其中搜索 .mp4 文件。如果该文件夹不存在,程序会跳过这一步,继续在其他位置搜索。
  6. 解除隐写时,如果输入文件不是隐写文件则不进行任何操作。

Full Changelog: https://github.com/cenglin123/SteganographierGUI/compare/v1.1.0...v1.1.1


v1.2.4 更新

20241027 更新 v1.2.4 版本

v1.2.1 更新

20240828-v1.2.1 版本:解除隐写逻辑新增密码本功能

v1.2.0 更新

20240730-v1.2.0 版本:新增集成隐写者到右键菜单的功能

v1.1.8 更新

新增验证码生成器扩展工具

v1.1.7 更新

新增文件哈希值修改工具

v1.1.6 更新

修改解除隐写的逻辑,提升效率

v1.1.5 更新

改善压缩zip文件部分的进度显示逻辑,并且程序增加详细日志窗口,便于问题定位

v1.1.4 更新

优化程序在嵌入moov box时的运行逻辑,修正一些bug

v1.1.3 更新

修改MP4隐写模式,现在会把zip文件嵌入到外壳MP4文件的 moov box 中而不是贴在MP4文件后面

v1.1.2 更新

新增隐写大小-外壳时长不合理提醒

v1.1.1 更新

修复BUG

v1.1.0 版本进位

新增命令行调用的 CLI 模式, 现在程序可以作为第三方工具被其他程序调用

v1.0.10 改进:

1. 隐写时会随机插入压缩文件的特征码,进一步增加混淆度  
2. 输出文件名可以选择随机文件名  
3. 外壳文件新增名称排序、随机排序、时长排序选项。

v1.0.9 修改:参数栏添加【输出名】选项,现在可以选择外壳MP4文件名作为输出文件名

v1.0.8 改进:新增外壳MP4文件夹选择功能,现在可以点击【选择文件夹】按钮以自行选择外壳MP4文件夹。

v1.0.7 改进:外壳文件菜单中的文件现在会按照时长降序排列

v1.0.6 修改:密码获取的逻辑变更,现在可以不指定密码

v1.0.5 改进:隐写时文件末尾增加随机字节,以使得每次生成的文件哈希值不同

v1.0.4 改进:新增外壳文件选择菜单

v1.0.3 改进

1. 隐写文件夹时现在会在压缩包内生成同名的文件夹  
2. 修改tools的判断逻辑,如果不使用mkv模式则不会弹出警告  
3. 新增mkv文件隐写大小警告(单个mkv文件不能隐写总量超过2GB的资源)  
4. 修正一些其他bug

v1.0.2 新增 隐写为mkv文件的逻辑,引入第三方工具用于处理mkv文件

.\tools\mkvextract.exe
.\tools\mkvinfo.exe
.\tools\mkvmerge.exe

v1.0.1 修复了无法隐写ZIP格式文件的bug

摘要

为了探索秒传链接失效之后国内网盘资源分享的安全问题,本文推荐了一种以 MP4 文件为外壳的文件隐写方法,并进行了 压力测试[3],初步证明了方法的有效性。同时分享了对使用隐写技术时的一些 经验和使用建议[4]。通过进一步 控制变量测试[5],探讨了评论区地毯式炸链的机制,得出其 原因是资源倒卖者的举报[6],证明了 隐写文件的优势:可申诉性[7]。然后讨论了 百度网盘的审核机制以及举报的原理[8]。提出了应对倒卖者举报的 一些策略 [10]。

本程序的代码已经在 GitHub 上开源,大家有任何建议欢迎提 issue。

[New] 20240730-v1.2.0 版本:新增 集成隐写者到右键菜单 的功能,详见: GUI 说明部分

[New] 20240801-v1.2.0.1 版本:进一步 集成哈希修改器功能

[collapse title = "其余重要更新"]

20240716-v1.1.8 版本:新增工具 验证码生成器,可以将提取码处理为验证码图片,用于反爬,详见 GUI 说明部分。

20240708-v1.1.7 版本:新增拓展工具 哈希值修改器,可以原位批量修改常见资源文件的 MD5 值 (jpg、png、mp3、mp4、mkv、flac、zip、rar、7z 等),详见 GUI 说明部分。

20240622-v1.1.5 版本:改善压缩 zip 文件部分的进度显示逻辑,并且程序增加详细日志窗口,便于问题定位

20240609-v1.1.3 版本:修改 MP4 隐写模式,现在会把 zip 文件嵌入到外壳 MP4 文件的 moov box 中而不是贴在 MP4 文件后面

2024.05.26 更新:1.1.0 版本更新新增了 CLI 操作模式,今后本程序可以作为第三方应用被其他程序调用。详见演示视频和 Github。

[/collapse]

文章目录

58f1a856c26a24542636716ce2d3df2d.webp

1. 背景

如今,国内各大网盘审查政策日趋严格,分享链接炸链的可能性越来愈大。

传统来说,我们采用 带密码的多层压缩包 来应对审查问题。这样的做法非常麻烦,并且当层数多、文件大时,频繁解压对于硬盘的损耗也是难以忽视的。围绕这个问题,过去产生了多种利用网盘特性进行 秒传 的解决方案,但是随着网盘政策的收紧,这些方案大多已经失效或名存实亡 。

秒传方案失效以后,基于国内网盘的资源分享重新回到了多层加密压缩包的形式,分享者开始不可避免地要和网盘的分享及审核系统打交道,加之举报分享链接的 资源倒卖者 横行,炸链又开始频频出现,有时候甚至 地毯式发生,分享环境日趋恶劣 。

综上,这使得研究和开发更加隐蔽、安全的数据传输方法变得尤为重要,在这样的艰难情况下,本文介绍的文件隐写技术有望成为后秒传时代的安全分享新方案。 

2. 方法介绍:把文件隐写到 MP4 文件中

本程序受到 仓库文章(以下简称文章 [1])的启发,利用文件隐写技术来隐藏数据从而绕过常规审查。

隐写技术通过将数据嵌入到其他媒体文件中,使数据的存在对于普通观察者而言不可见,从而实现在不引起注意的情况下进行信息传输。

隐写技术已经有很多先例,传统做法主要有 图种 [X7] ,即把数据嵌入图片中,表面上看起来是一张图片,但修改后缀名后可以解压然后得到隐藏的数据。

图种的原理如下:

copy /b "图片.jpg" + "压缩包.zip" "生成目标.jpg"

但是这样的做法容易引起怀疑,毕竟一张清晰度分辨率都并不算高的图片居然有几个 G,并且还有非常高的下载转存记录,这实在太可疑了 [1]

因此,考虑 伪装的有效性,使用 MP4 文件作为隐写的外壳文件更为合理一些,大视频引起怀疑的可能性显然低于大图片。

我们的目标是通过隐写伪装来 降低可疑度,从而尽可能以 最低的成本 实现安全分享。因为假如被频繁举报,即使压缩包层数再多,密码再复杂,在已经被强烈怀疑的情况下大概也回天乏术。因为对于网盘而言,无法解密又被大量举报的文件最省事的方式就是一刀切判定违规(参考这个试验[5])。

自然界最好的防御不是叠甲而是伪装

具体实现方面:将 ZIP 格式的压缩包嵌入到比如海绵宝宝这样的普通 MP4 视频文件中,当文件以 MP4 格式被打开时,只能看到海绵宝宝的视频,看不到 ZIP 部分;而当文件名改为 ZIP 以后,解压软件(如 WinRAR)可以寻找到 ZIP 部分进行正常解压。如此实现文件的低成本安全分享。

[collapse title = "解除隐写方法(根据自己所用的解压软件对号入座)" show = "true" ]

1. WinRAR6 (注意不能是 WinRAR5):

    1.1. 对于 MP4 隐写文件,直接改后缀名为 .zip 即可解压(必须是 zip,不是 rar 也不是 7z 或者别的)

    1.2. 对于 MKV 隐写文件,改后缀名后,【工具-修复压缩文件】,然后再解压。

117c966dac71fd2b968b0b31bd6f2551.webp

2. 7-zip

    2.1. MP4 隐写文件先修改后缀名,然后右键点击文件,用 #号模式 打开压缩包,即可解压,如下图:

fac85bc467296f3e462e8389413be4ec.webp

    2.2. MKV 隐写文件同上,用 #号模式 打开压缩包,即可解压。

    2.3 使用命令行解压(-i!*.zip 表示仅解压.zip 部分,通过此法解压出的压缩包文件名为 "2.zip")

7z x -t# "D:\TEMP\测试_hidden.mp4" -o "D:\TEMP" -i!*.zip

3. Bandizip:7.0 以上版本改后缀名为 .zip 即可解压

4. 手机

4.1. 【安卓】RAR:用法和 WinRAR 相同,下载地址

4.2. 【苹果】解压专家:用法和 WinRAR 相同:下载地址

5. 其余解压软件正在测试中,暂时未找到 100%稳定的方法

[/collapse]

3. 程序功能简介

虽然文章 [1]提供了一个有效的代码实现用于文件隐写,但该方法缺乏一个简单易用的操作界面,这限制了其推广与普及。

本程序在文章 [1]的基础上进行简化,开发了一个包含图形用户界面(GUI)的隐写程序,使用户能够通过简单的拖放和点击操作完成文件的隐写和解隐写。

2024.4.24 新增:根据文章 [X1]提出的方法,也可以把文件以附件的形式嵌入到 MKV 文件中,在 v1.0.2 版本中新增了此逻辑。

4. GUI 设计与功能介绍

[nav title1 = "演示视频" title2 = "GUI 界面" title3 = "哈希修改器" title4 = "验证码生成器" title5 = "右键菜单集成" type = "tab"] [content target = "title1"] [/content] [content target = "title2"]

89a2d5d315fe293ee4dd8f22b4e1dd67.webp

 [/content]

[content target = "title3"]

本程序的适用场景为 传火、补档 或者传和谐文件到网盘 前处理工作,上传文件之前需要修改哈希值以 防止炸链牵连到原分享文件

哈希修改的原理类似于隐写,在文件的后面贴 1 个随机字节,使得文件的 MD5 值发生变化。

注意隐写者本身会自动进行哈希随机化处理,哪怕原文件是同一个,每次生成的隐写文件哈希值都不一样,正常隐写文件时 不必考虑 哈希值问题。

 3e78f26da4d708e61049a599cde829e3.webp

[/content] 

[content target = "title4"]

使用验证码生成器处理提取码,可以防止被爬虫爬取到链接

d72d3b79e10f0e412d7bd101a3058db1.webp

示例如下:

d55ef7164a6e579b01534ea1dd88eb7f.webp

[/content] 

[content target = "title5"]

在 v1.2.0 版中,新增了可以 集成软件到右键菜单 的安装脚本和卸载脚本,双击执行即可安装/卸载。功能基于 CLI 模式(默认选择 cover_video 文件下第一个视频)。目前暂时不能处理密码、选择视频等详细操作,如果需要进行这类操作,可以选择右键-打开隐写者 GUI

d36f4b4f035cdf963cc481991cfa44e8.webp

20240801-v1.2.0.1 版本,进一步 集成哈希修改器 功能

ef0d856f69b62f7baf724a774cc83bc4.webp

以下为详细操作演示

fa9b0e5590c07a7c7bc88a016b48eb54.gif

[/content]

[/nav]

本程序允许通过 输入密码拖入文件 的方式来直接进行文件的隐写和解隐写。

程序具有以下特点:

(1) 一体化:既可以进行 隐写,也可以在同一个界面进行 解除隐写 操作,提升了程序的整体效率和便利性。

(2) 拖放功能:支持拖放文件或文件夹到指定区域,简化了文件选择的过程。

(3) 通用性:产生的隐写 MP4 文件可以 手动 修改后缀名解压,并不强制要求使用本程序

(4) 密码保护必须 输入密码才能进行隐写或解隐写操作。 v1.0.6 版后允许不指定密码。

(5) CLI 调用: 可在终端窗口中使用指令操作,或被其他应用作为 第三方程序 调用(1.1.0 版本更新)

(6) 右键菜单集成:可以集成到鼠标右键菜单,以类似常见压缩软件的逻辑进行操作( 1.2.0 版本更新

[collapse title = "文件路径结构" show = "false"]

bf5bdfdf99d7b6388d2f156de054bc55.webp

└─Steganographier-文件隐写程序 │ ├─ 隐写者.exe 11.88 MB --> 主程序 │ ├─cover_video --> 放置伪装外壳 MP4 文件 │ │ ├─SpongeBob SquarePants S01E01A Help Wanted.mp4 44.91 MB │ │ ├─SpongeBob SquarePants S01E01B Reef Blower.mp4 21.21 MB │ │ └─SpongeBob SquarePants S01E01C Tea at the Treedome.mp4 64.50 MB │ ├─modules │ │ └─favicon.ico 24.93 KB --> icon │ ├─tools

[/collapse]

隐写外壳视频下载工具(B 站视频下载工具):https://github.com/leiurayer/downkyi

5. 经验与技巧分享

5.1 资源分享的几个安全级别

(1) 直接上传&分享:真的勇士,总是敢于直面惨淡的人生和淋漓的鲜血,以及炸链、封号等一系列挫折。

(2) 单层/多层压缩包:有密码并加密文件名就能防止网盘扫描压缩包中的内容,一定程度上可以抵抗审查,但是无法防止在线解压(手机端可以在线解压包括 7z 在内的压缩包格式,不过大于 12GB 的压缩包目前无法在线解压),如果没有密码,那么参考 (1)

(3)-1 分卷压缩包:由于分卷压缩包无法在线解压,安全性较 2 提高了很多(是否改后缀名,或者有没有混淆文件并无太多影响) 。

(3)-2 自解压格式压缩包:格式为 exe 的压缩包,不需要有解压软件直接执行就可以解压,可以设置密码加密文件名。自解压文件也不能在线解压,安全性与分卷压缩包为同一级别。

(4) 其他专有格式的加密文件:包括但不限于 Cryptomator 、VeraCrypt 等专有格式加密文件。相比于较为通用的压缩包,网盘方不太可能搭载能够解密这些专有格式的功能,所以安全性高于前者。不过无法应对大量举报造成的强制违规。

(5) 隐写文件:这里特指 MP4/MKV 隐写文件,从加密技术层面来看,隐写文件属于 3 这个级别(隐写文件也不能在线解压,会提示压缩包损坏)。由于其伪装能力强的特性,可以较好混淆审查。不怕举报造成的强制违规,可以申诉(详见 5.3 节)。因此安全性高于上述所有。

(6) 磁链、IPFS、自建网盘:去中心化分享由于无法被举报,所以安全性是顶级,自建网盘也是同理。关于举报相关的内容,会在 5.3、5.6 节详细讨论。

总的来说,根据 【1. 能否加密】 【2. 能否在线解压】 【3. 能否被举报】这三个点,可以把分享方式大致划分出 3 个大的安全级别。

关于网盘分享的安全级别排名,感兴趣可以进一步看 这篇文章 [8]。

5.2 隐写文件安全性来源:低可疑度

在选择文件和隐写内容时,需要根据分享资源的大小选择合适的外壳文件,看上去要合理,不至于让人怀疑

比如你的资源大小有 3 个 GB,此时最好就不要选 1、2 分钟的短视频,因为这不太合理,容易让人怀疑;最好选择一个时长 1 到 2 小时的长视频。可以选择低清晰度的电影或者 b 站上的网课类长视频,这类视频的 360P 大小通常在 300MB 以内。

我也在程序中提供了几个供参考的长视频,大家可以按需选用。我认为,使用少量的额外流量换取安全性还是比较划算的

下面是个人推荐的 资源大小-外壳时长 参考表。

资源大小视频时长推荐
0-200MB1-3分钟
200-400MB3-15分钟
400-500MB15-30分钟
500MB-1GB30分钟-1小时
1GB-3GB1小时
3GB-4GB2小时
4GB以上2小时以上

对于过大的资源,可以采用分文件夹或分卷处理的方式,嵌入的外壳视频可以为按顺序分集的动画,这样可疑度会更低一些。目前程序在版本 1.1.2 之后新增了隐写不合理的提醒。

5.3 基于隐写的申诉补档技巧

隐写文件的区别于其他网盘分享方式的主要特点为:不容易炸链,且 违规可申诉

所谓不容易炸链,是指隐写虽然被举报到一定数量(这里用“少量”指代 ),会 短暂地进入审核状态,表现为【暂时冻结】或【正在审核】,但是过 5-10 分钟可自行恢复正常免疫 少量及以下的举报。 

关于此特性的证明,参考 这个试验[5]

这是以往的任何加密方法都做不到的,如上文所述,网盘对于无法解密又被大量举报的文件会倾向于直接判违规。

不过,隐写文件虽然不容易炸链,但是被 大量海量 举报以后还是有可能炸链的(分别会提示“此文件禁止分享”或者“文件违规根据相关法律法规予以屏蔽”)。

当一个分享炸链以后,我们如果要对其进行补档,通常需要重新压缩以后再上传,之所以不能直接重新分享而要这样做,是因为 违规文件的哈希值已经被网盘记录,再次上传或者分享网盘都认得这个文件(文件哈希值可以类比人类的指纹),这无疑费时费力,尤其是文件很大的时候,更是一场噩梦。

隐写文件的 可申诉性 给了我们另一种比较方便的解决办法:我们可以直接对违规文件进行申诉,然后重新分享即可,并不需要一次次地重新压缩上传进行补档。假如最近一直被人盯着举报,可以选择等待一段时间避过风头之后再申诉让文件“活过来”然后继续分享。

关于此技巧的更多细节,详见 这篇文章[10] 和 这篇文章[9]

5.4 适度的擦边也是伪装

另一方面,内容完全没有问题可能也不太好

如果被大量举报,容易引起人工复查,一个视频明明看着完全没有问题,但却总是被举报色情,这也很可疑。

对此的一个建议是,假如你的资源可能面临 大量举报 的风险,可以使用各类性学相关或者能过审的哲 ♂ 学银梦等擦边但不至于被封的视频。

这样在面对大量举报时,可以最大程度降低暴露的风险,假如不幸被封,也可以 合理化申诉理由

6b3f6289b08797becab8518029722d52.webp

具体大家可以发挥自己的想象力,这里 只是示例,视网盘方审核人员的好恶也有可能申诉失败。总之:

伪装的目的并不是让人挑不出毛病,而是让对方误判,大事化小小事化了

5.5 个人隐私安全

尽管隐写可以增加文件的安全性,但分享时仍应考虑个人的网络安全和匿名性。例如,在上传期间使用 VPN 或代理;不要使用包含个人信息的视频,也 不要总是使用同一个视频作为隐写外壳 等,以降低被追踪和识别的风险。

5.6 资源倒卖者的举报

某些被认为有价值的资源有可能会被 资源倒卖者 盯上,所谓资源倒卖者,就是把免费分享的资源拿去贩卖以牟取利益的人,俗称“倒狗”。

为了保证利益的 垄断,资源倒卖者会举报其他的分享文件使之炸链,从而维持其来源的唯一性(白话:吃独食)。其结果表现就是投稿及其下方传火链接地毯式炸链。(例子:[A]、[B]、[C]、[D]、[E]、[F])

具体来说,资源倒卖者会使用自动化的脚本对分享文件进行举报。注意 举报的是文件不是链接,倒卖者会转存想要使之违规的文件,用自己的号分享,然后运行举报脚本持续举报直到文件违规。

这种规模的举报不是隐写文件能够应对的,不仅隐写文件不行,任何正常文件都不行,哪怕是正常文件也会被网盘强制判定违规,也就是说这种违规与文件实际上存不存在违规内容无关,而属于近似于 DDos 的一种 攻击行为(这也就意味着哪怕秒传也不行),虽然隐写文件可以申诉,但是 人的精力有限没必要和 24 小时持续不断举报的脚本抗衡。

因此假如资源已经被资源倒卖者盯上(判断标准是隐写文件分享后很快炸链,并且申诉成功解封以后再次快速炸链)此时不建议再继续用常见网盘分享,而建议改用 IPFS [X3X10] 磁链 [X4X9] 自建网盘 [X5] 等不会因举报而和谐的分享方式。

关于安全分享以及倒卖者举报的原理分析,参考 这篇文章 [ 8],关于网盘违规以及倒卖者的手法证明,参考 这个试验 [5]。关于倒卖者的应对策略,可以参考****这篇文章[10]

5.7 法律问题

估计能看到这里的朋友都明白,但还是容我多嘴强调一点。

在使用本程序时,请大家遵守必要的相关法律和道德规范。自己的爱好可以分享资源,但是务必不要让这些小圈子里的东西上了台面,也不要去任何官方可以看到的地方跳脸。历史经验无数次告诉我们,小圈子破圈的后果往往是一地鸡毛。(你!不要让大家都用不了隐写!

我们不鼓励使用隐写技术进行非法、涉政的活动,而是希望通过技术增强个人数据保护和隐私安全。

6. 使用案例分享

接下来,分享几个我认为比较有效的隐写案例:

  1. 海绵宝宝法:即采用成系列的视频来隐写分卷后的资源。比如海绵宝宝,每个视频时长 10min 左右,一集可以用来隐写 400MB 左右的内容。此法适合用来隐写需要分卷处理的大文件。同理,外壳文件也可以采用葫芦娃、喜羊羊等等其他儿童向视频。

  2. RickRoll 法:使用歌曲 《Never Gonna Give You Up》 的 mv 作为隐写外壳,原视频时长 3min32s。 此法适合小于 200MB 的资源,个人比较推荐,因为容易被当成恶作剧进而被审核人员放过。

  3. 电影法:采用一个长电影作为外壳文件,可以用来隐写不适合分卷处理的大文件。

程序也支持自行选择 MP4 文件存放的文件夹,隐写时外壳 MP4 文件选取顺序可以 按照 名称 或者 按照时长 顺序降序选择,亦或者 随机选择

56c1d783f4ea58f7601cd7b84bf88cfb.webp

如此可以更方便地进行【分卷压缩然后逐个隐写】的操作。如果使用如 B 站多 P 的视频,可以使得隐写结果看起来非常自然。 如下图

f90d0cb2ed3374e7de4c386a9b1b7b2c.webp

关于分享的链接的命名问题,原则上以不引起怀疑为宗旨,但是也需要具体问题具体分析。比如采用了 RickRoll 法,那么文件名可以直接为原资源名(某些敏感词可能需要修改),如此可以给审查者一种分享者在搞恶作剧的感觉。

7. 不足与展望

目前的程序仍然存在一些问题,比如合并方法是简单地将 ZIP 文件附加到视频文件的末尾、嵌入 MP4 文件的 moov box 或者 MKV 文件的附件中。这种方法虽然易于实现但也容易被检测到。

后续也许可以考虑使用一种更加隐蔽的方式,例如将 ZIP 文件的内容嵌入到视频文件的某些不太关键的部分,在每个 I 帧后插入一小段数据等。这类做法需要分析视频文件的编码细节,可能需要用到其他库如 FFmpeg 等,具体留待后续研究。

尽管如此,根据文章 [1]的测试结果,以及 本测试的结果,隐写具有:① 不易违规 ② 即使违规也 可申诉 ③ 补档方便 等优势。在不被特意针对性举报的情况下,这样的隐写方法已经足以认为是一个可以推广的解决方案了

今后随着技术的进一步完善,此类隐写方法或许能成为替代秒传链接的一个有效手段。

8. 总结

本文介绍了资源分享手法到秒传链接为止的历史,证明了倒卖者是引起炸链的主要原因,提出采用隐写技术作为新时代的资源安全分享解决方案,同时分享了一些使用隐写技术时的一些经验和建议,希望能帮助资源分享者更好地活用隐写技术。

随着技术的进步和数字媒体的普及,隐写技术可能会有新的突破,除了之前提到过的插帧法隐写,还可能有深度学习 AI 驱动的隐写系统,这些都可能为资源分享安全问题提供新的解决方案。

矛与盾的对抗永不停息,新的时代在呼唤新的解决方案

欢迎大家参与到隐写技术的测试和研究中来,共同推动其发展。如果大家对于本程序有什么进一步的改善要求和建议,欢迎在评论区提出,或者在 GitHub 上提 issue。

9. 源代码:

https://github.com/cenglin123/SteganographierGUI

10. Release:

11. Virustotal 查毒报告

[collapse title = "Virustotal 查毒报告"]

https://www.virustotal.com/gui/file/720da1de9d83aa8714c69576a5e96d43cd63974806f78c5fa1253699bd74ff5b?nocache = 1

[/collapse]

附录:MP4 隐写技术相关系列文章(时间顺序)

主要内容

[1] [技巧] 用文件隐写来规避网盘和谐

[2] [工具分享] 隐写者:把资源嵌入 MP4 文件的隐写工具 [资源防炸链解决方案倡议&规避网盘审查技巧探讨]

[3] [技巧分享] 隐写分享压力测试阶段性报告 [资源防炸链解决方案倡议]

[4] [技巧分享] 后秒传时代如何避免资源分享炸链? [资源防炸链解决方案倡议]

[5] [技巧分享] 关于评论区地毯式炸链现象的一些测试及初步猜想 [资源防炸链解决方案倡议]

[6] [技巧分享] 关于此评论区地毯式炸链的真实原因及补档相关说明 [资源防止炸链解决方案倡议]

[7] [技巧分享] 后秒传时代的安全分享路在何方?为什么我们需要隐写? [资源分享传火呼吁&隐写用法释疑]

[8] [技巧分享] 网盘资源分享的几种安全级别、审核与举报,分享建议 [资源防炸链解决方案倡议]

[9] [技巧分享] 隐写文件误区及申诉补档建议、百度云批量申诉工具 [资源防炸链解决方案倡议]

[10] [技巧分享] 如何应对资源倒卖者(倒狗)的举报 - 百度云篇 [资源防炸链解决方案倡议]

延伸阅读

[X1] [技术分享] 如何在.mkv 格式视频里夹带隐藏文件,附带 mkvtoolnix,MkvEdit 和 gMKVExtractGUI 工具

[X2] [杂谈] 给新司机的一个简单的科普 (笔者注:此文是关于安全分享的科普)

[X3] [技巧分享] IPFS 分享资源快速上手及其适用场景浅议 [资源防炸链解决方案]

[X4] [技巧] 利用网盘离线下载分享规避审查

[X5] [技巧分享] [自建网盘] 自建网盘 cloudreve+离线下载

[X6] [高阶文章] 关于新时代文件分享机制的思考 (笔者注:此文介绍了除网盘外的其他分享方案)

[X7] [技巧分享] 图种的制作与使用 

[X8] [技巧分享] 防炸教程 (笔者注:本文介绍了网盘常用的分享方案,不过作者有可能要吃电脑屏幕了)

[X9] [教程] BitTorrent (种子文件) 扫盲 [绅士仓库 tracker 更新] [2020 Rev] (笔者注:本文是磁力做种的教程)

[X10] [技巧分享] [IPFS] 无法被举报的文件分享神器 CRUST IPFS 操作指南 PART.I ( IPFS 托管平台教程)

免责声明:

本程序仅用于保护个人信息安全,请勿用于任何违法犯罪活动

否则 后果 自负,开发者对此不承担任何责任