使用指南

开始前:隐写不等于加密

本工具用于降低信息的可见性并研究压缩鲁棒性。位置口令只改变读取顺序,不会加密内容;敏感数据应先使用经过审计的加密方案。

DCT 频域隐写

DCT(离散余弦变换)隐写是一种将信息嵌入到图片频域系数中的隐写技术。与直接修改最低有效位的 LSB 方法相比,中频系数更有机会保留在 JPEG 重压缩之后。不过恢复结果仍取决于载体纹理、强度、裁剪缩放和具体平台流程,不能据此承诺在所有社交平台上都可提取。

DCT 隐写的工作原理

DCT 隐写的核心流程如下:

  1. 分块 — 将图片亮度通道(Y)分成 8×8 像素块,与 JPEG 压缩的分块方式一致
  2. DCT 变换 — 对每个 8×8 块进行二维离散余弦变换,将像素值转换为频域系数
  3. 选择嵌入位置 — 选取中频系数(zigzag 扫描位置 10-30),这些位置在 JPEG 压缩中不容易被量化为零,保证抗压缩能力
  4. 量化索引调制(QIM) — 通过微调系数值来编码 0 或 1,当前界面默认 Δ=100;Δ 越大通常越耐压缩,但图片失真风险也越高
  5. 位置口令 — 可选口令通过确定性 PRNG 打乱嵌入顺序;它不是内容加密,只会让未使用相同口令的读取顺序不一致

如何嵌入信息

  1. 打开 DCT 隐写页面,切换到"嵌入信息"标签
  2. 上传载体图片(建议使用高分辨率图片以获得更大容量)
  3. 选择嵌入文本或图片:
    • 文本模式 — 输入要隐藏的文字(支持中文),适合隐藏密语、链接等
    • 图片模式 — 上传要隐藏的图片,会自动转为灰度并缩放以适应载体容量
  4. 可选:设置位置口令并调整量化步长(Δ 值越大通常越耐压缩,但载体图片失真也越明显)
  5. 点击"嵌入"按钮,等待处理完成后下载结果图片

如何提取信息

  1. 切换到"提取信息"标签
  2. 上传包含隐藏信息的图片(或点击"试试示例图"体验)
  3. 如果嵌入时设置了位置口令,输入相同口令
  4. 点击"提取"按钮,文本或图片会自动显示

使用建议

如何做一次有效的压缩验证

  1. 用代表性的载体和信息完成嵌入,不要只测试内置示例。
  2. 在工具内选择预计会遇到的 JPEG 质量,并运行“压缩验证”。
  3. 同时检查“能否完整提取”和“画质是否可接受”,只满足其中一个都不算合格。
  4. 如果目标平台还会缩放或裁剪,请上传到自己的测试账号再下载复核;平台结果不能由单次 JPEG 模拟代替。

什么是"光棱坦克"?

"光棱坦克"是一种在中文互联网社区广泛流行的图片隐写技术。它的名字来源于《红色警戒》游戏中的光棱坦克——因为这种隐写图片在不同背景下会呈现出不同的画面,就像光的棱镜一样。

一张光棱坦克图片看起来可能只是一张普通的灰色或浅色图片,但其中隐藏着另一张完整的图像。这种技术常见于百度贴吧、QQ 群等社区,被用来分享"只有知情人才能看到"的隐藏内容。

光棱坦克的工作原理

光棱坦克的核心原理基于灰度值分离像素交错

1. 灰度值压缩

一张普通图片的每个像素的亮度值范围是 0-255(0 为纯黑,255 为纯白)。制作光棱坦克时,隐藏图(里图)的像素值被压缩到一个很窄的范围——比如 0-32。这意味着隐藏图在正常查看时几乎不可见,因为它的像素值都非常接近黑色。

2. 像素交错

表图(正常显示的图片)和里图(隐藏图片)的像素按照某种模式交错排列。常见的交错方式包括:

3. 显形原理

要看到隐藏的图片,需要将被压缩的亮度范围重新拉伸到 0-255。这就是"色阶调整"的本质。当你把最大值设为 32(假设里图压缩到 0-32),原来亮度为 16 的像素会被拉伸到 128,原来为 32 的变成 255。这样,隐藏的图像就清晰地显现出来了。

如何使用一键显形

Mirage Tools 的一键显形功能完全自动化了上述过程,无需手动猜测参数:

第一步:上传图片

打开色阶调整页面,通过以下任意方式上传图片:

第二步:点击"一键显形"

图片加载后,点击 🔍 一键显形 按钮。算法会自动执行以下操作:

  1. 分析图片的亮度直方图分布
  2. 扫描多个阈值(正向 2-64,反向 192-253)
  3. 对每个阈值进行色阶拉伸,并使用 Sobel 梯度算子评估结果图像的结构清晰度
  4. 选择产生最多结构化内容(而非噪声)的阈值作为最佳显形参数

第三步:查看和微调

扫描完成后,您会看到:

如果自动结果不够理想,您可以手动拖动最小值/最大值滑块进行微调,同时观察预览图片的变化。

第四步:导出

满意后点击 导出图片 按钮,将显形后的图片保存为 PNG 格式。

色阶调整手动教程

如果您想手动调整色阶(不使用一键显形),以下是操作方法:

  1. 上传图片 — 同上
  2. 观察直方图 — 如果图片包含光棱坦克隐写,直方图通常会呈现双峰分布:一个峰在低亮度区域(里图),另一个峰在中高亮度区域(表图)
  3. 调整最大值滑块 — 将最大值从 255 逐渐降低到 32-64 之间,观察画面变化。当隐藏图像最清晰时,即找到了合适的参数
  4. 反向隐写 — 如果降低最大值没有效果,尝试将最小值从 0 逐渐升高到 192-240 之间,因为隐藏图像可能在高亮度区域
  5. 微调对比度 — 找到大致范围后,可以精细调整滑块位置获得最佳效果

常见问题

为什么一键显形显示"未检测到隐藏图像"?

可能原因包括:

建议:尝试手动调整色阶滑块,有时人眼能发现算法遗漏的细节。

保存图片时需要注意什么?

确保保存的是原图。如果从百度贴吧等平台保存图片,请先点击进入大图模式、查看原图后再保存。经过压缩的图片可能无法正常显形。

支持哪些图片格式?

支持所有浏览器能显示的图片格式,包括 JPEG、PNG、WebP、BMP 等。但 PNG 格式的光棱坦克图通常效果最好,因为 PNG 是无损压缩。

手机上能用吗?

可以。Mirage Tools 已针对移动端优化,直方图操作面板会固定在屏幕底部,方便边调整边查看图片效果。

相关概念

光棱坦克 vs 幻影坦克

幻影坦克利用的是 PNG 图片的 Alpha 透明度通道。在白色背景上显示一张图,在黑色背景上显示另一张图。而光棱坦克利用的是灰度值分离和像素交错,不依赖透明度。两者都是图片隐写技术,但原理完全不同。

隐写术(Steganography)

隐写术是一门古老的信息隐藏技术。与加密不同,隐写术的目标不是让信息不可读,而是让人不知道信息的存在。光棱坦克是数字图像隐写术的一种简单但有效的实现方式。更高级的隐写技术包括 LSB(最低有效位)隐写、DCT 频域隐写、小波变换(DWT)隐写等。Mirage Tools 同时提供了光棱坦克一键显形和 DCT 频域隐写两种工具。

版本与验证

界面参数、算法实现和说明文档会一起维护。若你需要复现实验、核对默认值或了解我们为什么不承诺“任意平台都能恢复”,请阅读算法与测试实验室。发现文档与界面不一致时,也欢迎通过页脚邮箱反馈。