1.warmup
下载获得一张bmp图片,放入stegsolve中发现在red plane 0,green plane 0,blue plane 0下图片的开头有一些问题,使用data extract,在LSB下分别选择red 0,green 0,blue 0,在最前方发现Ook编码,Ook编码和brainfuck编码,在https://www.splitbrain.org/services/ook对其进行解码即可。
2.loli
下载获得一张png图片,打开有点像二维码,扫描提示255,猜测这里可能需要对图片的字节与0xff做异或,于是首先对图片做异或
a=open('1.png','rb')
str1=a.read()
a.close()
str2=""
for i in str1:
str2+=chr(ord(i)^0xff)
b=open('2.png','wb')
b.write(str2)
b.close()
用wenhex打开图片,在文件结尾我们看到了提示"black and write"和png图像的结尾,从而得知在这里应该隐藏了一张png图像, 将图像提取,保存,发现这是一个100*100的图片,打开,发现是一张黑白图片,且被12条白线分为11列,而11*8+12恰好等于100,这是我们想到当黑为0,白为1(或者反过来),即可组成一个8为二进制数,从而转为字符,就可以获得答案
from PIL import Image
im=Image.open("22.png")
width=im.size[0]
height=im.size[1]
im1=im.convert("1")
pix=im1.load()
str1=""
str2=""
for y in xrange(height):
i=0
while i<width-1:
j=i+1
while j<=i+8:
if pix[j,y]==0:
str1+='0'
elif pix[j,y]==255:
str1+='1'
j=j+1
i=i+9
str2+=chr(int(str1,2)^0xff)
str1=""
fi=open("11.txt","wb")
fi.write(str2)
fi.close()