Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
stegano — 跨平台隐写术应用,带有图形界面、命令行和网络服务,支持 WEBP 和 AES。 | Kitploit
工具/GitLabGitLab/bztsrc/stegano
加密/解密工具隐写术密码学隐私保护
GitLabbztsrc/stegano

stegano

跨平台隐写术应用,带有图形界面、命令行和网络服务,支持 WEBP 和 AES。

查看仓库
3年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

bzt 的隐写术

在线演示

简而言之,隐写术 是一种将信息隐藏在另一种媒介中,使之在大庭广众之下不被人察觉的艺术。此实现读取常见网页格式(WEBP、PNG、GIF、JPEG)的图像,将(可选加密的)文本隐藏其中,并将结果保存为 WEBP 图像。然后你可以将此新图像上传到任何公共网站、论坛、Instagram、Facebook 聊天、邮件附件等。没有人会察觉,没有人知道图片中实际上藏有信息,除非你明确告诉他们(并且如果使用了加密,他们还需要正确的密码)。

用法

  1. 选择输入图像(通过 URL 或本地文件)

  2. 可选地输入密码(如果你想要额外的军用级加密)

3/a. 要检查图像中的信息,请按 Load。如果没有信息或密码错误,你可能会看到乱码。

3/b. 输入你的信息并按下 Save。将保存一个新图像(其中包含隐藏信息),你可以随意使用该文件。

作为 Web 服务

访问 网站。

作为窗口应用程序

下载 Linux 版(GTK)和 Windows 版(GDI)。这些是可执行文件,无需安装,并且不会在你的机器上留下任何痕迹。GUI 的外观和操作与 Web 服务完全一致。

截图

作为命令行工具

下载 Linux 版 和 Windows 版(均仅依赖 libc)。然后输入

root@kitploit:~
./stegano-cli <图像文件>
./stegano-cli -p <密码> <图像文件>

将图像中的信息打印到标准输出,以及

root@kitploit:~
./stegano-cli <图像文件> <信息>
./stegano-cli -p <密码> <图像文件> <信息>

将信息编码到新的 .webp 图像文件中(这可能会覆盖原始文件)。与 Web 服务一样,密码是可选的。与上述 GUI 版本不同,命令行版本完全没有任何依赖,它可以 Just Works(tm) 在任何地方运行。

编译

只需在 src 目录中运行 make,它是 suckless 风格。编译仅需要 emscripten 的 emcc 和 gcc(Linux GUI 版本还需要 pkg-config 和 GTK、GDK、pango、cairo 等通常的 GTK 臃肿软件)。

  • make wasm:如果你只想编译 WebAssembly 版本(所需的样板 HTML 在 public 目录中)。
  • make cli:如果你只想编译命令行版本(完全无依赖,应能在任何 POSIX 系统上工作)。
  • make gui:如果你只想编译图形用户界面版本(Windows 使用 GDI,否则依赖于 GTK)。

它是如何工作的?

如果你指定了密码,那么你的文本首先被加密。然后将图像解压缩到像素缓冲区,你的(加密)信息的位被存储在颜色通道的亮度中。这会在图像中产生非常轻微的波浪模式,人眼 完全无法察觉(并且在缺乏与原图像对比的情况下,计算机也完全无法察觉)。

在加载时,图像再次被解压缩到像素缓冲区,这些颜色通道中的亮度波被转换成一个连续的位块。如果提供了密码,则对位块进行解密。最终信息经过 UTF-8 有效性检查,如果有效,则显示。(需要此 UTF-8 检查是因为没有人能确定图像中是否真的有信息,或者给定的密码是否正确。)

技术细节

信息存储为以零结尾的 UTF-8 多字节流,其中只允许 \t(水平制表符)、\r(回车)和 \n(换行)控制序列。加载时,Windows GUI 版本将单独的 \n 字符转换为 \r\n CRLF 序列。保存时,CLI 版本接受 \+t、\+r、\+n 这两个字节的字符序列,并将其转换为对应的单字节控制字符。

对于加密,信息用零填充,使其长度是 16 的倍数,然后首先计算 sha256(salt+sha256(password)),得到 32 个二进制字节,其中 16 个连续字节用作 AES-256-CBC iv,起始位置从第 4 个字节的值模 16 处开始。AES-256-CBC 密钥随后初始化为 sha256(sha256(salt+sha256(password))+salt)(使用 sha of sha 使得对密码进行彩虹哈希攻击变得极其困难,甚至不可能)。盐值为 Libre Steganography Standard。

对于像素,所有图像都转换为 32 位打包的 RGBA 像素缓冲区。每个通道的最低 2 位用于存储信息的 8 位(即每个载体像素存储 1 个信息字节)。仅使用 alpha 通道大于 3 的像素来存储,所有版本都将这些像素的数量报告为 "容量 N 字节。"

root@kitploit:~
1 个信息字节的位(7 MSB,0 LSB):76543210
1 个载体像素(alpha 最后,红色先):rrrrrr76 gggggg32 bbbbbb54 aaaaaa10 (a!=0)

(此非透明技巧是因为 WEBP 编解码器并不像它声称的那样无损。当 alpha 大于 3 时,即使编码的位为零,也能保证像素不是透明的。)

许可证

此隐写工具根据 GPLv3+ 条款(或该许可证的任何更高版本)授权。它静态链接了 stb_image(公共领域)和 libwebp(根据 BSD-3-Clause 许可)。SHA 哈希和 AES 编码/解码部分为内联代码(本人编写),完全不需要第三方加密库。

干杯, bzt

下载工具