
挑战地址,点我
分析
页面上是一张模糊的图片,提示信息只有这一关的主题 odd even。
仔细看图片,上面有一些重影,考虑应该是需要分离出奇数和偶数像素。
奇数和偶数像素怎么定义?现在有两个维度,可能有如下几种方式:
- 只考虑 x
- 只考虑 y
- 考虑 x + y
- 同时考虑 x 和 y
测试发现 3 和 4 是可以的,python 实现如下,第 3 种方式:
#!/usr/bin/env/ python3
from PIL import Image
origin = Image.open('cave.jpg')
width, height = origin.size
# 新建两个图片
odd = Image.new(origin.mode, (width//2, height//2))
even = Image.new(origin.mode, (width//2, height//2))
for x in range(width):
for y in range(height):
# 根据 x + y 的奇偶性质分离到不同的图片
if (x + y) % 2 == 0:
odd.putpixel((x//2,y//2), origin.getpixel((x,y)))
else:
even.putpixel((x//2,y//2), origin.getpixel((x,y)))
odd.show()
even.show()
输出结果:


可以看到有一张图片上显示了一个单词 evil,替换 url 就是下一关的入口 http://www.pythonchallenge.com/pc/return/evil.html
参考资源:

通过分析模糊图片并利用奇偶像素分离技术,成功揭示隐藏信息,解锁下一关邪恶挑战。采用Python编程,借助PIL库实现图像处理,最终发现隐藏单词'evil'。
405





