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

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

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

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

工具目录

分类

查看所有分类
Loading categories
LSB-Steganography — Python程序,利用最低有效位将文件隐写入图像。 | Kitploit
工具/GitHubGitHub/robindavid/lsb-steganography
加密/解密工具数据泄露取证分析隐写术数字取证密码学Archived
GitHubrobindavid/lsb-steganography

LSB-Steganography

Python程序,利用最低有效位将文件隐写入图像。

查看仓库
9572754年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

LSB-Steganography

基于隐写术方法的Python程序,使用最低有效位技术将文件隐藏在图像中。

我使用了最基本的方法,即最低有效位。一个彩色像素由红色、绿色和蓝色组成,每个颜色编码为一个字节。其思想是将信息存储在每一个像素的RGB分量的第一位中。在最坏的情况下,十进制值的差异为1,人眼无法察觉。实际上,如果空间不足以将所有数据存储在每一个像素的第一位中,则应开始使用第二位,以此类推。需要记住的是,在图像中存储的数据越多,就越容易被检测到。

信息

LSBSteg模块基于OpenCV将数据隐藏在图像中。它使用每个像素的第一位以及图像的每一种颜色。代码相当易于理解;如果所有第一位均已被使用,模块将开始使用第二位,因此数据量越大,图像的改变就越明显。如果图像中有足够的空间,程序可以隐藏所有数据。主要功能包括:

  • encode_text: 提供字符串,程序将其隐藏
  • encode_image: 提供一个OpenCV图像,该方法将迭代每个像素以隐藏它们。一个好的做法是使用比要隐藏的图像大8倍的载体(以便每个像素仅被放置在第一比特中)。
  • encode_binary: 提供一个要隐藏的二进制文件;此方法可以混淆任何类型的文件。

仅支持无压缩的图像,即不支持JPEG,因为LSB位可能在压缩阶段被篡改。

安装

此工具仅需要OpenCV及其依赖项。

root@kitploit:~
pip install -r requirements.txt

使用

root@kitploit:~
LSBSteg.py

用法:
  LSBSteg.py encode -i <输入> -o <输出> -f <文件>
  LSBSteg.py decode -i <输入> -o <输出>

选项:
  -h, --help                显示此帮助
  --version                 显示版本
  -f,--file=<文件>          要隐藏的文件
  -i,--in=<输入>            输入图像(载体)
  -o,--out=<输出>           输出图像(或提取的文件)

Python模块

文本编码:

root@kitploit:~
# 编码
steg = LSBSteg(cv2.imread("my_image.png"))
img_encoded = steg.encode_text("my message")
cv2.imwrite("my_new_image.png", img_encoded)

# 解码
im = cv2.imread("my_new_image.png")
steg = LSBSteg(im)
print("文本值:", steg.decode_text())

图像隐写术:

root@kitploit:~
# 编码
steg = LSBSteg(cv2.imread("carrier.png"))
new_im = steg.encode_image(cv2.imread("secret_image.jpg"))
cv2.imwrite("new_image.png", new_im)

# 解码
steg = LSBSteg("new_image.png")
orig_im = steg.decode_image()
cv.SaveImage("recovered.png", orig_im)

二进制隐写术:

root@kitploit:~
# 编码
steg = LSBSteg(cv2.imread("carrier.png"))
data = open("my_data.bin", "rb").read()
new_img = steg.encode_binary(data)
cv2.imwrite("new_image.png", new_img)

# 解码
steg = LSBSteg(cv2.imread("new_image.png"))
binary = steg.decode_binary()
with open("recovered.bin", "rb") as f:
    f.write(data)
    

许可证

此软件采用MIT许可证。

下载工具