合天解密200-找茬游戏

得到两张看似一样的图片

PNG1:

PNG2:

两张图片异或后,隐约看到中间有个二维码,但是颜色太相近,处理下

异或和处理的python代码:

 1 #!/usr/bin/env python
 2 # -*- coding: gbk -*-
 3 # -*- coding: utf_8 -*-
 4 # Date: 2015年6月4日
 5 # Author:蔚蓝行
 6 # 博客 http://www.cnblogs.com/duanv/
 7 from PIL import Image
 8 png1=Image.open('/Users/.../Desktop/1.png')
 9 png2=Image.open('/Users/.../Desktop/2.png')
10 #png2不是RGB类型,转换
11 png2=png2.convert('RGB')
12 #获取图片大小信息
13 width,height=png2.size
14 pic=Image.new('RGB',(width,height))
15 for y in range(height):
16     for x in range(width):
17         b1,g1,r1=png1.getpixel((x,y))
18         b2,g2,r2=png2.getpixel((x,y))
19         #两张图片逐像素异或
20         b,g,r=b1^b2,g1^g2,r1^r2
21         #异或后图片黑色置成白色,其他置成黑色
22         if((b,g,r)==(0,0,0)):
23             pic.putpixel([x,y], (255,255,255))
24         else:
25             pic.putpixel([x,y],(0,0,0))
26 pic.show()
27 pic.save('/Users/.../Desktop/3.png')

得到图片:

扫面后得到flag{#justdiffit}

posted @ 2015-06-04 19:42  荆书凝  阅读(442)  评论(0编辑  收藏  举报