攻防世界 a_good_idea

给了个这个
攻防世界 a_good_idea_第1张图片
基操一下:
攻防世界 a_good_idea_第2张图片

PK == 内含压缩包
用kali分离后:
攻防世界 a_good_idea_第3张图片
有三个文件,python文件是我写的。
这个hint告诉我们:

try to find the secret of pixels

像素的秘密?一开始以为是宽高不一样,看了属性后发现都是一样的,回溯。
细细思考:to,to_do。显然是todo.png中有些东西,而且和像素有关
于是乎:

from PIL import Image
im1 = Image.open("to.png")
im2 = Image.open("to_do.png")
p1 = im1.load()
p2 = im2.load()
w = im1.size[0]
h = im1.size[1]

cnt = 0

for i in range(w):
    cnt = 0
    for j in range(h):
        if p1[i, j] != p2[i, j]:
			cnt += 1
print(cnt)

得到结果:
在这里插入图片描述
然而289*290=83810,不少不一样的。
攻防世界 a_good_idea_第4张图片

本以为是将不一样的块重新放到一个图片中,发现这没法开方,回溯。
我灵光一闪:看看每行有多少个不一样的?
攻防世界 a_good_idea_第5张图片
有规律的我都害怕。
那肯定就是将不一样的块用另外一种颜色标记咯?事实证明是正确的

from PIL import Image
im1 = Image.open("to.png")
im2 = Image.open("to_do.png")
p1 = im1.load()
p2 = im2.load()
w = im1.size[0]
h = im1.size[1]

im = Image.new('RGB',(290,289))
p = im.load()

for i in range(w):
    cnt = 0
    for j in range(h):
        if p1[i, j] != p2[i, j]:
            p[i,j] = (255,255,255)
im.show()

出了个二维码!!!! 扫码即得flag

你可能感兴趣的:(CTF)