Jaycelation/PTIT-Steganography-Project

GitHub: Jaycelation/PTIT-Steganography-Project

一个基于 Labtainer 平台的视频 DCT 系数域隐写教学实验项目,提供三个从隐写视频中逐步提取嵌入信息的动手实验。

Stars: 2 | Forks: 0

# PTIT Steganography 项目 此仓库包含关于在 DCT 系数域上对视频进行隐写的实验,主要侧重于修改 DC 和 AC 系数的技术。核心实现是为 Labtainer 提供的 3 个从隐写视频中提取信息的实验。 范围说明: - 这些实验是使用 Python 在帧/视频和 DCT 系数上进行的模拟教学。 - 本项目不涉及对媒体播放器的攻击、自执行 payload、MP4 自动运行或编解码器漏洞利用。 - 这些实验不要求学生直接修改 MPEG/H.265/H.264 编解码器比特流。 ## 1. 主要实验 | 实验 | 内容 | 指南 | |---|---|---| | `ac-midband-extract` | 从中频 AC 系数提取信息。 | [LAB_AC_MIDBAND_EXTRACT_GUIDE.md](LAB_AC_MIDBAND_EXTRACT_GUIDE.md) | | `dc-ac-combined-extract` | 通过结合 DC 头部和 AC payload 的 pipeline 提取信息。 | [LAB_DC_AC_COMBINED_EXTRACT_GUIDE.md](LAB_DC_AC_COMBINED_EXTRACT_GUIDE.md) | | `dc-ac-drift-extract` | 提取 DC/AC 并记录用于漂移分析的指标。 | [LAB_DC_AC_DRIFT_EXTRACT_GUIDE.md](LAB_DC_AC_DRIFT_EXTRACT_GUIDE.md) | 公开的 Labtainer 软件包已包含在以下目录中: ``` labtainer/ac-midband-extract.tar labtainer/dc-ac-combined-extract.tar labtainer/dc-ac-drift-extract.tar ``` ## 2. 在 Labtainer 虚拟机中下载并运行实验 在 Labtainer 虚拟机的 student 目录中运行以下命令: ``` cd ~/labtainer/labtainer-student ``` ### 实验 1:AC 中频提取 ``` imodule https://github.com/Jaycelation/PTIT-Steganography-Project/raw/refs/heads/master/labtainer/ac-midband-extract.tar labtainer -r ac-midband-extract ``` 检查结果: ``` checkwork ac-midband-extract ``` ### 实验 2:DC/AC 组合提取 ``` imodule https://github.com/Jaycelation/PTIT-Steganography-Project/raw/refs/heads/master/labtainer/dc-ac-combined-extract.tar labtainer -r dc-ac-combined-extract ``` 检查结果: ``` checkwork dc-ac-combined-extract ``` ### 实验 3:DC/AC 漂移提取 ``` imodule https://github.com/Jaycelation/PTIT-Steganography-Project/raw/refs/heads/master/labtainer/dc-ac-drift-extract.tar labtainer -r dc-ac-drift-extract ``` 检查结果: ``` checkwork dc-ac-drift-extract ``` 请参阅 [README_LABTAINER_VM.md](README_LABTAINER_VM.md) 了解更多在虚拟机中运行的说明。 ## 3. 仓库结构 ``` ac-coeff-midband/ Challenge nền cho lab AC. dc-ac-combined/ Challenge nền cho lab DC/AC. dc-coeff-warmup/ Challenge warmup về hệ số DC. drift-compensation-basic/ Challenge mô phỏng drift compensation. labtainer/ Template, gói build và file .tar cho Labtainer. scripts/ Script build và kiểm tra package Labtainer. videos/ Video demo dùng cho phát triển/thử nghiệm. ``` 主要指南文件: ``` LAB_AC_MIDBAND_EXTRACT_GUIDE.md LAB_DC_AC_COMBINED_EXTRACT_GUIDE.md LAB_DC_AC_DRIFT_EXTRACT_GUIDE.md README_LABTAINER_VM.md LABTAINER_READINESS.md LABTAINER_PROGRESS.md ``` ## 4. 重新构建 Labtainer 包 在仓库的根目录下运行: ``` python scripts\prepare_labtainer_public.py python scripts\run_all_lab_checks.py ``` `prepare_labtainer_public.py` 脚本将重新生成: ``` labtainer/build/ac-midband-extract/ labtainer/build/dc-ac-combined-extract/ labtainer/build/dc-ac-drift-extract/ labtainer/ac-midband-extract.tar labtainer/dc-ac-combined-extract.tar labtainer/dc-ac-drift-extract.tar ``` `run_all_lab_checks.py` 脚本会运行每个软件包中的辅助脚本,并检查 `checkwork` 所需的文件。 可以单独构建或检查每个实验: ``` python scripts\prepare_labtainer_public.py --lab ac-midband-extract python scripts\run_all_lab_checks.py --lab ac-midband-extract ``` 有效的实验名称: ``` ac-midband-extract dc-ac-combined-extract dc-ac-drift-extract ``` ## 5. 基础挑战 除了 3 个主要的 Labtainer 实验外,仓库还保留了用于算法开发和测试的基础挑战: | 挑战 | 重点 | |---|---| | `dc-coeff-warmup` | 修改 DC 系数。 | | `ac-coeff-midband` | 使用中频 AC 系数嵌入/提取 payload。 | | `dc-ac-combined` | 头部使用 DC,payload 使用 AC。 | | `drift-compensation-basic` | 漂移模拟与偏差补偿。 | 运行基础挑战的快速示例: ``` cd ac-coeff-midband python generate.py --flag "PTIT{ac_midband_test}" --seed 1337 --output output python solve.py --input output/stego.mp4 --config output/public_config.json --output output/answer.txt python checker.py --answer-file output/answer.txt ``` ## 6. 分离学生端和教师端内容 学生端包只应包含: - `solve.py` - `src/` 目录 - `tools/` 目录 - 公开的隐写视频 `output/stego.mp4` - 公开配置,如 `output/public_config.json` 以及 `output/hint.txt`(如果存在) 学生端包不应包含: - `generate.py` - `checker.py` - `private/` - `private_config.json` - flag、答案或示例答案文件 - Python 缓存,如 `__pycache__/` 或 `.pyc` 当前的构建脚本已包含将这些文件从公开包中移除的步骤。 ## 7. 备注 - 如果需要面向学生的详细指南,请使用第 1 部分中的 3 个独立指南文件。 - 如果需要检查 Labtainer 的打包状态,请参阅 [LABTAINER_READINESS.md](LABTAINER_READINESS.md)。 - 如果需要了解进度或近期的更改,请参阅 [LABTAINER_PROGRESS.md](LABTAINER_PROGRESS.md)。
标签:AC系数修改, CTF训练, DCT域隐写, DC系数修改, Labtainer, Midband提取, PTIT, Python, Steganography, 信息隐藏, 多媒体安全, 安全实验, 数字取证, 数据提取, 无后门, 漂移分析, 网络安全教育, 自动化脚本, 视频处理, 视频隐写, 逆向工具, 隐写术