西普CTF-最低位的亲吻

看到LSB,果断放在StegSolve中看下RGB,发现并没有什么信息。
参考各位大神的解法,发现只是简单的获取最后一位的然后画图,没有理由StegSolve获取不到呀!
看了下图像,发现是bmp的8位灰度图。然后用StegSolve比对了下G通道,发现和实际不一样,猜测是StegSolve解析8位的BMP存在问题?
直接用画图另存为png格式,用StegSolve打开后,在RGB的最后一位都可以看到二维码了。
西普CTF-最低位的亲吻_第1张图片
二进制最低位只可能是0或1,由0,1表示出来的像素点自然想到是二维码(LSB套路):所以这道题的思路就是将图片转换成0,1 像素点(图像处理问题)所以还是可以写代码提取其中的二维码:

from PIL import Image
lena = Image.open('01.bmp')
im=Image.new('1',lena.size)
pixsels = lena.load()
width=lena.size[0]
height=lena.size[1]

for x in range(0,width):
  for y in range(0,height):
      g=pixsels[x,y]
      im.putpixel((x,y),int(bin(g)[-1]))


im.save("2.bmp")


运行代码得到二维码图片:

你可能感兴趣的:(CTF)