惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
A
About on SuperTechFans
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
aimingoo的专栏
aimingoo的专栏
T
The Blog of Author Tim Ferriss
IT之家
IT之家
罗磊的独立博客
博客园_首页
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
量子位
Hugging Face - Blog
Hugging Face - Blog
G
Google Developers Blog
博客园 - 叶小钗
H
Help Net Security
N
Netflix TechBlog - Medium
B
Blog
Engineering at Meta
Engineering at Meta
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
Vercel News
Vercel News
博客园 - 三生石上(FineUI控件)

博客园 - GKLBB

软件研发 --- AI模型 之 图片转xlsx 软件神器 --- ctf靶场 之 pwn.college 术语俗话 --- 什么是加密狗 软件神器 --- 自动电脑锁屏软件 软件研发 --- 网络安全 之 putty生成无密码登录密钥 软件神器 --- 视频剪辑 之 Avidemux MP4Joiner Shotcut 软件神器 --- 视频格式转化 之 handbrake 软件研发 --- 经验之谈 这个是什么图标,经常看到 软件研发 --- 术语俗话 之 多模态 术语俗话 --- 什么是大数据开发 软件研发 --- 术语俗话 之 什么是边缘计算 软件研发 --- 应知应会 之 什么是云计算开发 应知应会 --- 如何不装软件查看网速 常见问题解决 --- 360拦截接触 常见问题解决 --- 加入会议摄像头无法打开 软件研发 --- 应知应会 之 无错误的闪退如何解决 软件研发 --- 应知应会 之 为什么别人的软件如此复杂我的如此简单 网络安全 --- 应知应会 之 什么是旁站 应知应会 --- 如何查询备案 软件神器 --- 格式转化 之 jpg 2 svg 网络安全 --- CTF打靶 之 flag搜索 软件神器 --- 互联网测速 之 软件神器 --- 局域网测速 之 iperf 常见问题解决 --- 模拟器USG6000打开后,启动设备失败,错误40 软件研发 --- AI网络 之 ensp配置生成 软件研发 --- AI编程 之 极简流程 软件研发 --- AI生图产品比较 常见问题解答 --- 为什么我的服务一直被人DDOS 软件研发 --- 开发万能格式转化工具
网络安全 --- CTF打靶 之 ZIP伪加密 → Robot36慢扫电视 → 二...
GKLBB · 2026-05-21 · via 博客园 - GKLBB

这个只做了解没有多大意义,生活中几乎见不到

知识点概览

ZIP伪加密 → Robot36慢扫电视 → 二维码补齐 
    → DeepSound隐写 → GPG解密 → Base64图片 → SilentEye隐写

image

 

第一步:修复ZIP伪加密

伪加密 = 修改标志位骗过解压软件,数据本身未加密
修复方式 = 将加密标志位改回 00 00

操作步骤

使用 010 Editor 打开ZIP文件

搜索两处需要修改的位置:

修复对照表

标识魔数标志位偏移修改前修改后
本地文件头 50 4B 03 04 +6, +7 09 00 00 00
核心目录区 50 4B 01 02 +8, +9 09 00 00 00

⚠️ 注意:实验手册中写的是 504b0304504b0102,即这两处都需要修改 

原则上只需修改 50 4B 01 02(Central directory)中的标志位

因为解压软件优先读取Central directory来判断是否加密


第二步:Robot36 解码慢扫电视信号

什么是 Robot36?

本质就是图片和音频的相互转化

SSTV(慢扫描电视) 是一种通过音频信号传输图像的技术,Robot36 是其中一种编码模式。

音频文件(.wav) → SSTV解码 → 图像文件(.png/.jpg)

工具准备

平台工具
Android Robot36 App(Google Play)
Windows MMSSTV / RX-SSTV
Linux qsstv
通用 在线解码器

操作步骤

方法一:手机App(最简单)

1. 安装 Robot36 App
2. 手机播放 sounds.wav
3. App自动识别并解码
4. 得到二维码图片

方法二:Linux qsstv

# 安装
sudo apt install qsstv

# 或使用 Python 库
pip install pySSTV

# 播放音频同时用软件接收
aplay sounds.wav  # 同时运行qsstv监听

方法三:在线工具

网站:https://slowrx.com/
上传wav文件 → 自动解码 → 下载图片

二维码补齐

解码出来的二维码可能不完整(缺少边框或定位角):

正常二维码结构:
┌──────────────────┐
│ ██  ░░░░░░  ██   │  ← 定位符(三个角)
│ ██  ░░░░░░  ██   │
│                  │
│   ░░░░░░░░░░░    │  ← 数据区
│   ░░░░░░░░░░░    │
│                  │
│ ██               │  ← 第三个定位符
│ ██               │
└──────────────────┘

补齐方法:

1. 用 PS / GIMP 打开二维码图片
2. 添加白色边距(四周留白至少4个模块宽度)
3. 若定位符缺失,手动补全三个角的黑色方块
4. 确保图片为黑白两色,无灰度

扫码获取密码

使用微信/支付宝/专业扫码App扫描补齐后的二维码

结果:lapsume

第三步:DeepSound 提取隐写内容

DeepSound 简介

本质就是

DeepSound 是一款音频隐写工具,可以将文件隐藏在WAV/MP3等音频文件中,支持密码保护。

工具获取

官网:https://github.com/Jpinsoft/DeepSound/releases
平台:Windows

操作步骤

1. 打开 DeepSound
2. 点击 "Open carrier files"
3. 选择 flag.wav
4. 输入密码:lapsume
5. 点击 "Extract secret files"
6. 选择输出目录

提取结果

flag.wav (密码: lapsume)
    ├── *.asc          ← GPG私钥文件
    └── encrypted_file ← 被GPG加密的文件

第四步:GPG 解密(Kleopatra)

什么是 .asc 文件?

.asc 文件是 ASCII 装甲格式的 GPG 密钥文件,通常包含:

  • 公钥(Public Key)
  • 私钥(Private Key)
  • 签名(Signature)
文件内容格式:
-----BEGIN PGP PRIVATE KEY BLOCK-----
...base64编码的密钥数据...
-----END PGP PRIVATE KEY BLOCK-----

工具选择

工具平台说明
Kleopatra Windows GnuPG图形界面,推荐新手
GnuPG Linux/Windows 命令行工具
GPG Suite macOS Mac平台推荐

方法一:Kleopatra(图形界面)

1. 安装 Gpg4win(包含Kleopatra)
   下载:https://www.gpg4win.org/

2. 导入私钥
   - 打开 Kleopatra
   - 文件 → 导入...
   - 选择 *.asc 文件
   - 确认导入

3. 解密文件
   - 文件 → 解密/验证...
   - 选择加密文件
   - 自动使用导入的私钥解密
   - 保存解密结果

方法二:GnuPG 命令行

# 导入私钥
gpg --import secret.asc

# 查看已导入的密钥
gpg --list-secret-keys

# 解密文件
gpg --decrypt encrypted_file > decrypted_output

# 或指定输出文件
gpg --output decrypted.txt --decrypt encrypted_file

解密结果


第五步:Base64图片还原

识别 Base64 图片

文件内容示例:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...

或纯 Base64:

iVBORw0KGgoAAAANSUhEUgAAAAUA...(以 iVBOR 开头通常是PNG)

还原方法

方法一:Python脚本

import base64

# 读取base64文本
with open('decrypted.txt', 'r') as f:
    content = f.read().strip()

# 去除data URI头部(如果有)
if ',' in content:
    content = content.split(',')[1]

# 解码并保存为图片
img_data = base64.b64decode(content)
with open('output.png', 'wb') as f:
    f.write(img_data)

print("[+] 图片已保存为 output.png")

方法二:在线工具

网站:https://base64.guru/converter/decode/image
粘贴Base64文本 → 点击解码 → 下载图片

方法三:Linux命令行

base64 -d decrypted.txt > output.png

第六步:SilentEye 提取最终Flag

SilentEye 简介

SilentEye 是一款跨平台的隐写工具,支持在图片和音频中隐藏信息,使用默认密码(空密码)或自定义密码。

工具获取

官网:https://achorein.github.io/silenteye/
平台:Windows / Linux / macOS

操作步骤

1. 打开 SilentEye

2. 拖入 output.png 图片
   (或 文件 → 打开)

3. 点击 "Decode"

4. 密码设置:默认密码(留空)
   按题目说明使用 "default password"

5. 点击解码

6. 查看提取的文本内容

获取 Flag

SilentEye 解码结果:

flag{dorothy's_vision}

工具汇总

步骤工具用途
第一步 010 Editor / WinHex / HxD ZIP伪加密修复
第二步 Robot36 / qsstv SSTV音频解码
第二步 PS / GIMP 二维码补齐
第三步 DeepSound 音频隐写提取
第四步 Kleopatra / GnuPG GPG解密
第五步 Python / 在线工具 Base64图片还原
第六步 SilentEye 图片隐写提取

知识点速查

凯撒密码(题目提到但本题似乎未直接用到)

def caesar_decrypt(text, shift):
    result = ""
    for char in text:
        if char.isalpha():
            base = ord('A') if char.isupper() else ord('a')
            result += chr((ord(char) - base - shift) % 26 + base)
        else:
            result += char
    return result

# 爆破所有位移
for i in range(26):
    print(f"shift {i}: {caesar_decrypt('密文', i)}")

ECDSA(椭圆曲线数字签名,本题用于理解GPG相关)

ECDSA 常见于 GPG 密钥中
特点:相比RSA,密钥更短但安全性相当
在CTF中:若出现 ECDSA 漏洞题,
          通常考察随机数重用 → 可恢复私钥

解题路径思维导图

challenge.zip (伪加密)
├─[修改 09 00 → 00 00]
├── sounds.wav
│   └─[Robot36 SSTV解码]
│       └── 二维码图片
│           └─[补齐 + 扫码]
│               └── 密码: lapsume
└── flag.wav
    └─[DeepSound + 密码 lapsume]
        ├── private.asc (GPG私钥)
        └── encrypted_data
            └─[Kleopatra/GPG导入私钥解密]
                └── base64_image.txt
                    └─[Base64解码]
                        └── image.png
                            └─[SilentEye默认密码]
                                └── flag{dorothy's_vision} ✓

总结

这道题考察了多层隐写和加密的综合运用:

  1. ZIP伪加密 - 格式层面的障眼法
  2. SSTV音频图像 - 将图像编码进音频
  3. 二维码识别 - 图像信息提取
  4. 音频隐写(DeepSound) - 音频中藏文件
  5. GPG非对称加密 - 文件加密保护
  6. Base64图片编码 - 数据编码传输
  7. 图片隐写(SilentEye) - 最终信息藏匿

💡 CTF解题核心思路:遇到文件先看文件头魔数,判断真实文件类型;每一层都可能是一种隐写或加密手段,逐层剥开即可找到Flag。

免责声明 本文档所有内容仅供安全研究、学术交流与技术学习使用,严禁用于任何未经授权的逆向破解、网络攻击、隐私窃取、恶意软件开发及其他违反《中华人民共和国网络安全法》《数据安全法》等法律法规的行为,使用者应确保已获得目标软件权利人的合法授权并自行承担因使用本文档内容所产生的一切法律责任与后果,作者不对任何直接或间接损害承担任何责任,继续阅读即视为您已知悉并同意上述全部条款。