0%

Python Challenge (Level 12)

第12关

这一关需要写的代码只有短短几行,前提是你能解开所有的谜题。

刚看到图片时,以为还是用到图像处理模块,后来发现没有用。 注意Page Source里面是evil1.jpg 而不是evil.jpg, 多了个1,根据一路通关过来的规律,有1我们就看下有没有2. 把链接后面改为evil2.jpg, 会看到一张图片, 上面写着

not jpg –.gfx

改为evil3.jpg,会看到提示no more evils。 好吧,为我们把evil2.jpg改为 evil2.gfx, 下载得到一个文件evil2.gfx.

从未见过这种格式的文件, 网上介绍似乎是一种3D model/scene format, ASCII format, 详情可以看这里.

回过头看evil1.jpg, 图片上面是一个人在发五分牌, 似乎在提示我们把evil2.gfx文件按字节顺序轮流划分为五份。 比如原来文件是 [b0, b1, b2, b3, b4, b5, b6, b7, b8, b9], 就分成 [b0, b5], [b1, b6], [b2, b7], [b3, b8], [b4, b9].

1
2
3
4
5
6
with open('evil2.gfx', 'rb') as inFile:
data = inFile.read()

for i in range(5):
with open(str(i), 'wb') as outFile:
outFile.write(data[i::5])

最后会得到五章图片,上面分别有dis, pro, port, ional, ity, 最后一个是被划掉的。所以, 组合起来的通关信息就是disproportionl, 得到下一关网址: http://www.pythonchallenge.com/pc/return/disproportional.html