话不多说,直接上原题

TIPS:心中无码

打开解题链接,是一张png图片,直接用16进制编辑器打开,没有附加其它文件。
看下文件区段信息也很正常。

又拖进stegsolve,Blue的0位很不正常

多次尝试主要是因为:1.图像数据是“先行”还是“先列”处理;2.b0去除打码部分后的数据怎么利用的问题。3.如何确定黑白问题

直接上代码吧

#coding:utf-8
from PIL import Image

lena = Image.open('Lena.png')
pic = Image.new("RGB",(300,300))     
b0 = ''                                       #将像素点弄为0,1代码
bnum = 0                                      #总共多少位不是为黄

width,heigth = lena.size

for x in range(width):
  for y in range(heigth):
    if (lena.getpixel((x,y))) != (255,255,0):           #使像素点不要为黄
      if (lena.getpixel((x,y))[2] & 0x01):
        bnum += 1
        b0 += "0"                                     #无所谓,反位一下即可
      else:
        bnum += 1
        b0 += "1"

print bnum
print "\n"
#print b0
        
#根据之前的输出,得知总长度为90000,为300*300

nums = 0       #90000长度 ,长乘宽
for i in range(300):
  for j in range(300):
    if b0[nums] =="0":
      pic.putpixel([i,j],(0,0,0))
    else:
      pic.putpixel([i,j],(253,253,253))
    nums += 1
pic.save("11.png")
    



    

黑是(255,255,255)扫不出来,改为了253