当前位置: 首页 > news >正文

公司做网站好seo咨询

公司做网站好,seo咨询,做网站话术,东莞家具行业营销型网站建设多少钱关于LSB的相关介绍: LSB全称为 Least Significant Bit(最低有效位),是一种基于图片最低有效位修改储存信息的隐写方法,在CTF杂项中经常会遇到,LSB属于空域算法中的一种,是将信息嵌入到图像点中…

关于LSB的相关介绍:

LSB全称为 Least Significant Bit(最低有效位),是一种基于图片最低有效位修改储存信息的隐写方法,在CTF杂项中经常会遇到,LSB属于空域算法中的一种,是将信息嵌入到图像点中像素位的最低位,以保证嵌入的信息是不可见的。

图片的图像像数一般都是由RGB三原色(红绿蓝)组成,每一种颜色占8位,取值为0x00~0xFF,就是256种,一共包含了256的3次方种颜色,即16777216种颜色,但是人类的眼睛只可以分辨大概1000万种不同的颜色,还有很多种细微的变化人类的眼睛是觉察不到的。

LSB隐写就是通过修改RGB颜色分量的最低位二进制(LSB),来进行信息的储存,人类的眼睛并不能感知到前后的变化,每个像数可以携带3bit的信息。

如何实现:

我们这里使用Python脚本来实现

from PIL import Image
import sysdef toasc(strr):return int(strr, 2)       #str1为所要提取的信息的长度(根据需要修改),str2为加密载体图片的路径,str3为提取文件的保存路径
def decode(str1,str2,str3): b="" im = Image.open(str2)lenth = int(str1)*8  width,height = im.size[0],im.size[1]count = 0for h in range(height): for w in range(width):#获得(w,h)点像素的值pixel = im.getpixel((w, h))#此处余3,依次从R、G、B三个颜色通道获得最低位的隐藏信息 if count%3==0:count+=1 b=b+str((mod(int(pixel[0]),2))) if count ==lenth:breakif count%3==1:count+=1b=b+str((mod(int(pixel[1]),2)))if count ==lenth:breakif count%3==2: count+=1b=b+str((mod(int(pixel[2]),2)))if count ==lenth:breakif count == lenth:breakwith open(str3,"w",encoding='utf-8') as f: for i in range(0,len(b),8):#以每8位为一组二进制,转换为十进制            stra = toasc(b[i:i+8]) #将转换后的十进制数视为ascii码,再转换为字符串写入到文件中#print((stra))f.write(chr(stra))print("sussess")def plus(string): #Python zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。return string.zfill(8)def get_key(strr):#获取要隐藏的文件内容with open(strr,"rb")  as f:s = f.read()string=""for i in range(len(s)):#逐个字节将要隐藏的文件内容转换为二进制,并拼接起来 #1.先用ord()函数将s的内容逐个转换为ascii码#2.使用bin()函数将十进制的ascii码转换为二进制#3.由于bin()函数转换二进制后,二进制字符串的前面会有"0b"来表示这个字符串是二进制形式,所以用replace()替换为空#4.又由于ascii码转换二进制后是七位,而正常情况下每个字符由8位二进制组成,所以使用自定义函数plus将其填充为8位string=string+""+plus(bin(s[i]).replace('0b',''))#print(string) return stringdef mod(x,y):return x%y#str1为载体图片路径,str2为隐写文件,str3为加密图片保存的路径 
def encode(str1,str2,str3): im = Image.open(str1) #获取图片的宽和高width,height= im.size[0],im.size[1]print("width:"+str(width))print("height:"+str(height))count = 0#获取需要隐藏的信息 key = get_key(str2) keylen = len(key)for h in range(height):for w in range(width):pixel = im.getpixel((w,h))a=pixel[0]b=pixel[1]c=pixel[2]if count == keylen:break#下面的操作是将信息隐藏进去 #分别将每个像素点的RGB值余2,这样可以去掉最低位的值#再从需要隐藏的信息中取出一位,转换为整型#两值相加,就把信息隐藏起来了a= a-mod(a,2)+int(key[count])count+=1if count == keylen:im.putpixel((w,h),(a,b,c)) breakb =b-mod(b,2)+int(key[count])count+=1 if count == keylen:im.putpixel((w,h),(a,b,c)) breakc= c-mod(c,2)+int(key[count])count+=1if count == keylen:im.putpixel((w,h),(a,b,c))breakif count % 3 == 0:im.putpixel((w,h),(a,b,c))im.save(str3)if __name__ == '__main__':if '-h' in sys.argv or '--help' in sys.argv or len(sys.argv) < 2:print ('Usage: python test.py <cmd> [arg...] [opts...]')print ('  cmds:')print ('    encode image + flag -> image(encoded)')print ('    decode length + image(encoded) -> flag')sys.exit(1)cmd = sys.argv[1]if cmd != 'encode' and cmd != 'decode':print('wrong input')sys.exit(1)str1 = sys.argv[2]str2 = sys.argv[3]str3 = sys.argv[4]if cmd != 'encode' and cmd != 'decode':print ('Wrong cmd %s' % cmd)sys.exit(1)elif cmd=='encode':encode(str1,str2,str3)elif cmd=='decode':decode(str1,str2,str3)

常见的三种LSB隐写方式:

我们依次尝试文本文件、图片文件、压缩包文件 

1、将文本藏在图片里

这是我们要隐藏的文本

用法:python  脚本名  encode 用来隐藏的图片名 要隐藏的文件名 输出的图片名

 输出的图片肉眼上和原图没有任何区别

 使用Stegsolve打开文件

 将RGB都勾在0,点击Preview

在开头就发现了我们隐写的文本内容,这是因为文本隐写隐藏在图片最开始的地方

但是正因为隐藏在图片最开始的地方,这就造成了LSB隐写的鲁棒性

我们对图片开头进行攻击

另存为后再次打开,发现我们隐写的内容不见了或者变了

 这就是LSB隐写的鲁棒性,如果我们攻击图片的其他地方,就不会对开头隐写的内容造成影响。

 

除了使用Stegsolve,我们也可以直接使用上面的脚本来提取隐写的内容

用法:python  脚本名  decode  字节数  含有隐写内容的图片名  输出的文件名

由于secret.txt的字节数其实我们是不知道的,可以慢慢尝试,为了保证输出完整内容一般输大一点

比如这里这个secret.txt它是22个字节

我们依次尝试10、20、30看看输出的内容

 可以看到,如果字节数小了,会导致我们获取的内容不完整,而太大了,虽然保证了完整性,但是也会多出一些额外的字符,这就需要我们自己慢慢尝试和调整了。

 

2、将图片藏在图片里

和上面是一个道理,只是将文本名换成了要隐藏的图片名(比如flag.png)

同样的地方同样的操作

 

由开头可以看出是png格式,点击Save Bin ,我们便提取出了隐写在图片中的另一张图片

3、将压缩包藏在图片里

 

至此,关于如何实现LSB的隐写大概就是这样的,真心希望各位看完有所收获!

http://www.tj-hxxt.cn/news/72434.html

相关文章:

  • 南京做网站询南京乐识百度公司网站推广怎么做
  • 公司网站要多少钱短视频代运营公司
  • wordpress评论链接网站seo方案
  • 玉林市网站开发公司网络营销外包推广
  • 西安哪家网络公司做网站海南seo排名优化公司
  • 做打折的淘宝小卖家的网站抖音关键词查询工具
  • 做淘客网站需要什么十大营销案例分析
  • 做二手网站有哪些问题百度权重怎么查询
  • 北京西站是高铁站吗店铺推广渠道有哪些
  • wordpress ajax 文件网站优化外包
  • 网站建设学院seo主管招聘
  • 房屋室内设计用什么软件360优化大师官方下载最新版
  • 网站 网站建设定制网站统计
  • 福田附近公司做网站建设哪家效益快网络推广有前途吗
  • 做高防鞋 哪个网站能上架有没有专门帮人推广的公司
  • 茂名网站建设维护广东东莞最新疫情
  • 建设企业查询平台seo怎么优化排名
  • 烟台建设局网站百度云搜索资源入口
  • 湖南做网站 磐石网络引领谷歌优化培训
  • 工商部门在线咨询郑州百度seo关键词
  • seo网站排名后退线上如何推广自己的产品
  • 湖北勘察设计协会网站百度一下你就知道了 官网
  • 射阳住房和城乡建设局网站公众号运营收费价格表
  • 网络知识网站整站优化深圳
  • 双语网站建设方案google官网入口下载
  • 哈尔滨市建设工程招投标首页关键词优化公司
  • 网站建立百度信任营销策划案
  • 彩票网站为啥链接做两次跳转互联网产品营销策划方案
  • 国外的包装设计网站深圳网络推广哪家好
  • 给客户做非法网站潍坊网站定制模板建站