第九关 Image
从页面上的图片可以看到有一串点,那么是不是代表该关与图像点有关? 我们从页面源码可以看到,有两段数字序列first和second,而有一个提示first+second=? 什么意思呢?难道是说(first, second)代表了图像点的坐标?不像,两段序列的长度有很大差异。那么算符+还有什么含义呢,有可能是将两段序列拼起来,然后每两个数字代表一个图像点。通过处理,我们在原图片上按照给定的坐标涂黑点,却发现什么都看不清;因此我们按照图片的规格新建一个图片,在黑底上涂白点,处理程序如下:
结果出现一只牛的图样,根据英文拼写,我们得到cow单词,进入页面 ,得到提示“hmm. it's a male. ” 雄性的牛?公牛bull,进入页面 ,通关!
第十关 序列推理
图片下方有一串字符“len(a[30]) = ?”,学过编程的都会意识到a可能是一个以字符串为元素的列表。那么a从哪里来呢?我们看页面源码,发现有一个href链接,打开网页 ,我们得到提示“a = [1, 11, 21, 1211, 111221, ”。很显然,这需要我们从已有的数字序列中找到规律,继而计算出第31个元素。通过思考,发现每个元素其实就是按顺序对前一个数字序列的解释,比如说“21”包含了1个2,1个1,因此下一个元素是‘2111’,按照这种规律,‘111221’包含了3个1,2个2,1个1,因此下一个元素应该是‘312211’,我们编写代码如下:
运行代码,得到‘5808’,打开网页 ,通关!
第11关 奇偶像点
这一关的图片有点诡异,完全看不出是个什么东西,可能又是与图片处理有关了,我们先看一下页面源码:
我们发现有意义的信息就只有”odd even“,那么很有可能是与图像坐标的奇偶有关,如果我们按照原图片的规格新建一个图片,而在该图片上只在坐标的奇值或者偶值上涂原图片上的点,发现全是黑乎乎的一片;所以我们再次尝试以原片大小的一半来处理,代码如下:
运行代码,查看odd.jpg和even.jpg,发现两张图几乎是一样的,通过”反色“处理,我们在右上角发现”evil“的字样,进入页面 ,通关!
第12关 分牌
从图片上看不出什么东西,我们先看看页面源码
可以看到,标题是“dealing evil”, 而image图片有命名“evil1.jpg”。由此我们打开后面的一系列evil图片,可以看到evil2.jpg图片上显示"not jpg.- -.gfx",而evil3.jpg显示"no more evils. ",evil4.jpg则直接显示文字"Bert is evil! go back!"。可以推断出有意义的只有evil2.jpg,那么按照提示我们可以提取出evil2.gfx,打开页面,我们可以得到一个gfx格式的文件。本来以为gfx格式有特殊的含义可以从这个gfx文件中解析出有效的信息,然而通过google查询gfx却毫无结果。一番思考后没有答案,无奈之下搜索前人的脚步,丫丫的,竟然是由evil1.jpg图片上的5摊派给出将gfx文件摊位5份的信息,是在是无语啊!
思路有了,写代码就好办了,这里用到::操作符,不明白的可以去google一把,代码如下:
运行代码,查看5个图片,按顺序可以得到"dis","pro","port","ional","ity",但最后一个单词被划去了,因此我们得到单词disproportional,进入页面,通关!