MISC之LSB
LSB隐写
简介
LSB隐写(Least Significant Bit Steganography)是一种隐写术,它通过将秘密信息嵌入到图像、音频或视频等多媒体文件中的最低有效位中来隐藏信息。在数字图像中,每个像素由红、绿、蓝三个通道的颜色值组成。每个颜色通道的颜色值通常用8位二进制数表示,范围为0-255。而LSB隐写则是将秘密信息的二进制位依次替换为RGB值中的最低有效位,从而实现隐藏信息的效果。由于最低有效位的改变对图像的视觉质量影响较小,因此LSB隐写是一种常用的隐写技术。
?LSB隐写就是修改RGB颜色分量的最低二进制位也就是最低有效位(LSB),而人类的眼睛不会注意到这前后的变化,每个像数可以携带3比特的信息。
LSB隐写内容写入
将脚本文件在kali里运行
?用法:python? 脚本名? encode 用来隐藏的图片名 要隐藏的文件名 输出的图片名
python LSB.py encode input.png flag.txt out.png
//input.png是用来隐藏信息的文件
//flag.txt是要隐藏的信息,隐藏的文件不只是文本文件,图片也可以隐藏
//out.png是隐藏完成输出的文件
?实操:
?xx.png隐藏在haha.png里了,输出的结果是34.png
?
?
?隐写出来的图片与原图相比没有什么区别,只是图片的大小明显是隐写后的图片文件大小要大一些,所以以后遇到图片文件的像素不是很高但文件大小却比普通的图片要大一些,那么就可以怀疑图片是否进行了隐写,图片内隐藏了一些信息
?LSB隐写内容提取
这里有两个方法将隐写进去的内容提取出来
方法一:Stegsolve.jar
用Stegsolve.jar打开图片文件,然后分析
?选择最低位隐写
?然后Save Bin以图片的形式保存文件,最后再打开新保存的文件得到的就是隐藏的文件
方法二:kali运行脚本
用法:python? 脚本名? decode? 字节数? 含有隐写内容的图片名? 输出的文件名
?依旧是同一个脚本文件
python LSB.py decode 20 34.png out.png
//20是输出的字节数
//34.png是要提取信息的文件
//out.png是输出的文件
//一般用脚本提取图片的内容是文本里的内容而不是图片,因为图片输出后字节数不对,输出的文件不会出现有用的信息,所以该脚本用来提取文本信息要好一些
总结:
LSB和MSB是二进制数字中的概念。
LSB表示最低位(Least Significant Bit),即二进制数字中的最右侧位,它代表数字的最小单位。
MSB表示最高位(Most Significant Bit),即二进制数字中的最左侧位,它代表数字的最高位,决定了数字的大小。
所以要注意隐写时要清楚时从头开始还是从尾部开始,从左侧开始还是从右侧开始,对应的最高位和最低位都会有所不同,因此在使用Stegsolve.jar时要注意文件头,以免出现LSB隐写的鲁棒性,导致文件隐写的内容丢失。
上面的隐写用法要注意隐写文本和图片的提取方法上会有一些不同,因为图片和文本之间本身就有区别,虽然隐写写入的方式是一样的,但提取呈现内容的格式不一样。
?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!