把文件藏进一段能正常播放的 MP4 视频里。
生成的文件既是合法的 MP4(双击就能播),又是合法的 ZIP(改后缀为 .zip 就能解压)——这叫"多态文件 (polyglot)"。
配合影现播放器姊妹项目使用体验更佳:
- 桌面端播放器:PolyFlixPlayer(基于 PySide6 + libmpv)
- 移动端播放器:PolyFlixPlayer-Mobile(基于 Flutter + media_kit)
MP4 外壳(伪装层,正常播放)
└─ ZIP 外层(改后缀 .zip 解压,可选 AES-256 密码)
└─ [可选] 内层 ZIP 或 7z(可选密码)
└─ 要隐藏的文件
- 安装 Python 3.8+(安装时勾选 Add to PATH)
- 双击
dev_run.bat - 浏览器自动打开
http://127.0.0.1:18181
pip install -r requirements.txt
python -m uvicorn app:app --host 127.0.0.1 --port 18181浏览器打开 http://127.0.0.1:18181。
- 选伪装视频:拖一个 MP4 进来(当外壳)
- 选要隐藏的文件:拖一个或多个文件进来
- 配置嵌套:
- 外层 ZIP 可选加密码(AES-256)
- 内层可选再加一层 ZIP 或 7z(可选密码)
- 左侧"结构预览"会实时显示嵌套层次
- 构建 → 下载
polyglot.mp4
- 把
polyglot.mp4改后缀为.zip - 解压(设了外层密码则输入)
- 若有内层压缩包,用 7-Zip 打开(设了内层密码则输入)
- 得到隐藏文件
⚠️ 请勿用于非法用途。
本项目基于 GNU General Public License v3.0(GPL-3.0)开源。
这意味着你可以自由使用、学习、修改和再分发本项目的源代码,但任何基于本项目或其衍生部分的发行版本,也必须以 GPL-3.0 协议继续开源,并附带本协议全文。详细条款见项目根目录的 LICENSE 文件。
本项目站在以下成熟开源方案的肩膀上,在此致以谢意:
| 项目 | 用途 | 主页 |
|---|---|---|
| Python | 运行时与开发语言 | https://www.python.org/ |
| FastAPI | Web 后端框架(构建逻辑服务) | https://fastapi.tiangolo.com/ |
| Uvicorn | ASGI 服务器 | https://www.uvicorn.org/ |
| pywebview | 桌面 Webview 窗口封装 | https://pywebview.flowrl.com/ |
| py7zr | 7z 压缩(内层嵌套) | https://github.com/miurahr/py7zr |
| pyzipper | AES-256 加密 ZIP(外层压缩) | https://github.com/danver/pyzipper |
| FFmpeg / libmpv | 视频解码内核 | https://ffmpeg.org/ |
| PyInstaller | 打包成单文件可执行程序 | https://pyinstaller.org/ |