- 波形图隐写
- 频谱图隐写
- 高低频提取
- 音频差分
- 曼切斯特编码
- 音频倒放
- 帧提取
- DTMF
- SSTV
- MP3隐写
- DeepSound
- 电话音
- StegoVideo
🏷️ 例题:
| 20251206Mini VN wav也能像png那样美丽吗
| 20260124SpringCTF 启程目标塔卫二(Deepsound)
| 20251201ISCTF 美丽的风景图(RGB通道隐写)
| 20260130furryCTF 余音藏秘(SSTV)
| LitCTF2026 lit_sstv
常用工具
- Audacity
| 工具特点 | 常见情况 | 冷知识 题干暗示 | |
|---|---|---|---|
| - [x] Deepsound | 听上去很正常 但是文件体积比预期大很多 比如说30秒的语言有20MB 用binwalk或者foremost扫描可能发现隐藏的文件结构 |
藏在心底的声音 | |
| - [x] Silenteye | 轻量级 | 电子蜂鸣 滴答声 高频啸叫 非人声/音乐 波形在AU里呈现规整脉冲或者方波 电子噪音 |
寂静之眼 无言 |
| - [x] Oursecret | 一个很老但是经典的工具 bmp jpg wav比较常见 |
体积大 | 冷知识:电视剧《暗格里的秘密》的英文名就是Oursecret 010打开wav结尾多出来的内容的头是 9E 97 BA 2A我们的秘密 |
| - [x] QSSTV&&SOX | 在kali运行 | 电子噪音 短促的 缓慢持续变化的电音 |
我们用接收机收到了来自空间站传来的信息, 尝试解开答案 Hear, this voice maybe in space |
波形图隐写

频谱图
高低频提取
| 例题-音视频隐写
发现OurSecret的第二个方法
第二个方法,观察wav文件的编码域,在结尾部分有多出来一个内容:

你去搜索这个多出来的内容的头9E 97 BA 2A,也可以发现这是oursecret隐写的典型特征:

从出题人mrl64的wp摘录的嗯嗯
| 例题-音视频隐写
音频差分
曼切斯特编码
原理:每个比特中间有一次电平跳变,0高→低,1低→高
我还没见过例题
工具可以搜搜看universal-radio-hacker
脚本可以试试这个
| 例题-音视频隐写
音频倒放
原理:整段从结尾到开头反向播放
听上去像是怪异的人声 有节奏有音节感的咕噜声
像是周董《你听得到》2分10秒的声音 倒放是”只有你能听得到”
在AU里 你可以Ctrl+A选择目录栏的效果器→传统→反向(时间)
帧提取
关键视频很短 故意让关键帧快速闪过 用播放器慢放也看不清楚
命令行 FFmpeg
1 | ffmpeg -i video.mp4 frame_%04d.png |
1 | ffmpeg -i video.mp4 -vf "select=eq(pict_type\,I)" -vsync vfr iframe_%04d.png |
1 | ffmpeg -i video.mp4 -r 1 frame_%04d.png |
1 | import cv2 |
DTMF
原理:按键是双频叠加的复合音,每个数字对应一组特定频率
- 按
1→ 同时发出 697Hz + 1209Hz 的声音 - 按
5→ 770Hz + 1336Hz - 按
*→ 941Hz + 1209Hz

SSTV
慢扫描电视Slow Scan Television
听起来是短促的电音
原理:图像逐行转成连续变化的音频信号,颜色/亮度对应不同频率,接收端按频率重画成图
如果你拿到一个 .wav 文件,但听上去只是嗡嗡的噪音,它可能其实是一张图
如何使用QSSTV解码
安装QSSTV工具
sudo apt-get install qsstv
设置输入源为文件
qsstv->Options->Configration->Sound->from file
调整音频采样率
很多.wav文件的采样率不是QSSTV的标准值,无法直接打开
使用sox工具修改音频参数
安装sox工具
sudo apt-get install sox
修改音频
cd /home/kali/Desktop
sox "Call the Alien.wav" -r 48000 -b 16 -c 1 output.wav
改成 48000Hz、位深16、单声道(QSSTV 标准),这样output.wav就可以成功被QSSTV读取了
运行QSSTV解码
打开 加载output.wav点击decode 获得一张图像

MP3隐写
两条路:在 MP3 帧(压缩数据层)里动手脚 / 利用标签/元数据区域
MP3Stego
原理:编码时用 parity bit(奇偶校验位)嵌入数据,改它不影响音质
关键点:
- 压缩过程嵌入:WAV→MP3 压缩时顺便嵌入,有 WAV+MP3 对就能从 MP3 提取
- 需要密码:信息是加密后嵌入的,没密码基本不行
MP3 帧结构
帧头 FF FB(MPEG1 Layer3)/ FF FA(带保护位),隐写可发生在 ancillary data(辅助数据)区
在 010 里打开 MP3,看到大量 FF FB 开头的块,那就是帧边界。
DeepSound
Windows GUI 隐写工具,藏信息进 WAV/FLAC(载体须无损/未压缩)
特征:
- 音频文件体积异常大——比如 30 秒的语音有 20MB
- 用 binwalk 或 foremost 扫描可能发现隐藏的文件结构
- 题干出现”藏在心底的声音”之类关于”深”的表达(DeepSound → 心底的声音)
使用(在 Misc tools 里也有):
Open carrier files放入载体音频- 填入密码(如果有)
Extract secret files提取隐藏文件
虽然名字叫 DeepSound,但它在 010 里没有像 OurSecret(9E 97 BA 2A)那样明显的尾部签名。识别主要靠体积异常和题目暗示。
电话音
“电话音”是 CTF 一类题的统称:音频内容是模拟电话拨号、按键音、忙音等场景
常见考点:
- DTMF 按键音:电话按键拨号声,提取方式见 2.音视频隐写
- 拨号盘脉冲(Pulse Dialing):老式旋转电话拨号时发出的”咔嗒”声,不同数字对应不同次数的脉冲
- 电话忙音/回铃音中的摩斯密码:在电话背景音里嵌入摩斯密码
- 北美电话键盘字母映射:老式手机键盘上 2=ABC, 3=DEF…这部分见 2.音视频隐写
遇到电话相关的音频,先 DTMF 在线工具扫一遍,如果没有,再手动听有没有摩斯密码或者脉冲声。
StegoVideo
原理:信息藏在视频帧像素的 LSB 中,和图片 LSB 一个原理,载体换成视频
常见工具:
- OpenPuff:老牌隐写工具,支持视频/图片/音频。需要多个密码(至少 3 个,A/B/C 三类密码各一)
- 自己写脚本:用 OpenCV 逐帧读视频,提取每个帧的 LSB
一般出题不会给你几十秒的正常视频让你逐帧分析——要么视频很短(几帧),要么关键帧故意让你看到一闪而过的内容(用 ffmpeg 帧提取法,见 2.音视频隐写)。
如果视频看着完全正常但文件体积比预期大,并且没有明显的帧异常,那可能是把文件藏在了视频容器的 metadata 或者末尾——binwalk 扫一下通常能分离出来。