9 第九关

是一张图,上面有很多的黑点,查看网页源代码发现了上一关的提示:

还发现了一大串的数字

感觉又是一个使用PIL库进行图像处理的题,百度后知道要将这些点连接起来并重新画图。但是不能在原始图上修改,我们应该重新画图并进行修改。

编写代码:

from PIL import Imagedef main(three):img = Image.open('good.jpg')# 利用img的模式和大小创建新图片img1 = Image.new(img.mode, img.size)# 两两为一个像素位置positions = []for i in range(0, len(three), 2): position = (three[i], three[i+1]) positions.append(position) for j in positions: img1.putpixel(j, (255, 255, 255)) img1.show() if __name__ == '__main__': first = [146,399,163,403,170,393,169,391,166,386,170,381,170,371,170,355,169,346,167,335,170,329,170,320,170, 310,171,301,173,290,178,289,182,287,188,286,190,286,192,291,194,296,195,305,194,307,191,312,190,316, 190,321,192,331,193,338,196,341,197,346,199,352,198,360,197,366,197,373,196,380,197,383,196,387,192, 389,191,392,190,396,189,400,194,401,201,402,208,403,213,402,216,401,219,397,219,393,216,390,215,385, 215,379,213,373,213,365,212,360,210,353,210,347,212,338,213,329,214,319,215,311,215,306,216,296,218, 290,221,283,225,282,233,284,238,287,243,290,250,291,255,294,261,293,265,291,271,291,273,289,278,287, 279,285,281,280,284,278,284,276,287,277,289,283,291,286,294,291,296,295,299,300,301,304,304,320,305, 327,306,332,307,341,306,349,303,354,301,364,301,371,297,375,292,384,291,386,302,393,324,391,333,387, 328,375,329,367,329,353,330,341,331,328,336,319,338,310,341,304,341,285,341,278,343,269,344,262,346, 259,346,251,349,259,349,264,349,273,349,280,349,288,349,295,349,298,354,293,356,286,354,279,352,268, 352,257,351,249,350,234,351,211,352,197,354,185,353,171,351,154,348,147,342,137,339,132,330,122,327, 120,314,116,304,117,293,118,284,118,281,122,275,128,265,129,257,131,244,133,239,134,228,136,221,137, 214,138,209,135,201,132,192,130,184,131,175,129,170,131,159,134,157,134,160,130,170,125,176,114,176, 102,173,103,172,108,171,111,163,115,156,116,149,117,142,116,136,115,129,115,124,115,120,115,115,117, 113,120,109,122,102,122,100,121,95,121,89,115,87,110,82,109,84,118,89,123,93,129,100,130,108,132,110, 133,110,136,107,138,105,140,95,138,86,141,79,149,77,155,81,162,90,165,97,167,99,171,109,171,107,161, 111,156,113,170,115,185,118,208,117,223,121,239,128,251,133,259,136,266,139,276,143,290,148,310,151, 332,155,348,156,353,153,366,149,379,147,394,146,399] second = [156,141,165,135,169,131,176,130,187,134,191,140,191,146,186,150,179,155,175,157,168,157,163,157,159, 157,158,164,159,175,159,181,157,191,154,197,153,205,153,210,152,212,147,215,146,218,143,220,132,220, 125,217,119,209,116,196,115,185,114,172,114,167,112,161,109,165,107,170,99,171,97,167,89,164,81,162, 77,155,81,148,87,140,96,138,105,141,110,136,111,126,113,129,118,117,128,114,137,115,146,114,155,115, 158,121,157,128,156,134,157,136,156,136] main(first+second)

得到图像:

图像上是个牛,就是英文的bull

那么第十关的url为:http://www.pythonchallenge.com/pc/return/bull.html

10 第十关

看标题好像是求len(a[30])是多少,查看网页源代码

发现一大串数据,并且发现一个txt文件

点开后发现是一个列表

百度后才知道含义

11— 表示前一个数“1”是 1 个 1;
21— 表示前一个数“11”是 由 2 个 1 组成;
1211— 表示前一个数“21”是 由 1 个 2、1 个 1 组成;
111221— 即 11 12 21 ,表示前一个数“1211”是依次由 1 个 1,1 个 2,
2 个 1组成;

那么后一组的数据就会是312211

于是编写程序求解低30位是什么元素:

def main():# 申请2个字符串,一个为1,一个为空,a是用来存放数据的a = '1'sub1 = ''for i in range(30):j = k = 0while j <len(a):while k < len(a) and a[k] == a[j]:k += 1sub1 += str(k-j) + a[j]j = ka = sub1sub1 = ''print(len(a))if __name__ == '__main__':main()

得到答案:

所以低11关的url是:http://www.pythonchallenge.com/pc/return/5808.html

11 第十一关

查看网页源代码

标题叫做奇偶,应该和图像处理有关,修改制定位置的像素,我们把图片下载到本地,修改奇数位置的像素:

from PIL import Imageim = Image.open('cave.jpg')
odd = Image.new(im.mode, (im.size[0], im.size[1]))
for x in range(1, im.size[0], 2):for y in range(1, im.size[1], 2):odd.putpixel(((x-1),(y-1)),im.getpixel((x, y)))
odd.show()

得到结果:

有个单词evil,试了下

则12关的url是:http://www.pythonchallenge.com/pc/return/evil.html

如果要求输入账号密码,还是输入 huge file

12 第十二关

这题的源代码也没有任何提示,估计又是和图像梳理有关

发现图形的url为:http://www.pythonchallenge.com/pc/return/evil1.jpg

试着把evil1改为evil2,出现

图上说not jpg 而是 gfx,于是后缀修改为gfx,自动就把gfx文件下载下来了

将evil2修改为evil3出现

看来关键点就在下载下的evil.gfx文件

evil1图上是把扑克分成了5份,于是我们把evil.gfx文件也分成5份,evil.gfx的第一个字节给第一个文件,第二个字节给第二个文件,第三个字节给第三个文件,第四个字节给第四个文件,第五个字节给第五个文件,第六个字节给第一个文件,第七个字节给第二个文件……

编写代码:

with open('evil2.gfx', 'rb') as f:data = f.read()
for i in range(5):with open('evil%d.jpg'%i, 'wb') as f1:f1.write(data[i::5])

得到五张图:

连起来的单词是:disproportional

所以第13关的url是:http://www.pythonchallenge.com/pc/return/disproportional.html

13 第十三关

查看网页源代码

点击php文件,发现提示信息

百度得到提示 是使用xmlrpclib,即xml的远程方法调用(https://www.jb51.net/article/44515.htm)

import xmlrpc.clients = xmlrpc.client.ServerProxy('http://www.pythonchallenge.com/pc/phonebook.php')
print(s.system.listMethods())

得到输出:

看到有个phone方法,于是修改代码:

由上题的提示得知,这个恶魔的名字叫Bert,必须在ie浏览器打开

import xmlrpc.clients = xmlrpc.client.ServerProxy('http://www.pythonchallenge.com/pc/phonebook.php')
print(s.system.methodHelp('phone'))
print(s.phone('Bert'))

得到答案:

第14关的url是:http://www.pythonchallenge.com/pc/return/italy.html

14 第十四关

打开网页源代码

发现提示提多的:

  1 walk around

  2 remember: 100*100 = (100+99+99+98) + (...

  3 有个图片wire.png

from PIL import Imageim = Image.open('wire.png')
print(im.size)

则它的像素为:(10000, 1)

那么这道题要做的是将10000*1的图像改成100*100的图像,像绕圈圈一样,先向右走100步,然后再向下走99步,再向左走99步,再向上走98步。典型的蛇形矩阵

from PIL import Imageim = Image.open('wire.png')
im1 = Image.new(im.mode, (100, 100))
# 代表四个方向 right down left up
direction = [(1, 0), (0, 1), (-1, 0), (0, -1)]
# 初始位置
x , y = -1 ,0
k = 0
# 100*100 = [[100, 99, 99, 98],[98, 97, 97, 96]]...应该有200个元素,
steps = 200
while steps/2>0:# 做一圈的迭代for vector in direction:step = steps//2for i in range(step):x = x + vector[0]y = y + vector[1]pixel = im.getpixel((k, 0))im1.putpixel((x, y), pixel)k += 1steps -= 1
im1.show()

得到一个图像:

是个猫。对应的英文应该是cat.

第14关的url为:http://www.pythonchallenge.com/pc/return/cat.html

输入发现是张图,有提示:

所以第14关的url应该为:http://www.pythonchallenge.com/pc/return/uzi.html

15 第十五关

有一张日历图,仔细看26号这天是被圈出来的

查看网页源代码

收到了2个提示:

  1 他不是最年轻的吗,他是第二位的

  2 要做的事,为了明天买花

再看日历右下角,二月有29号,所以这一年是闰年。需要我们求出闰年时,1月27号是星期二的日期。

于是编写代码:

import datetime
import calendarfor year in range(1800, 2000):t = datetime.date(year,1,27)if calendar.isleap(year) and t.weekday() == 1:print(t)

得到结果:

百度出1756-1-27莫扎特出生

所以答案是:mozart

第十六关的url是:http://www.pythonchallenge.com/pc/return/mozart.html

16 第十六关

查看网页源代码:

上面的语句意思是让我们做吧,是句俚语

打印每行像素的值,我们发现每行像素都有连续5个195的值

我们以195为基准位置,反转一下色素,得到新的图片

编写程序:

from PIL import Imageim = Image.open('mozart.gif')
widt, heig = im.size
for y in range(heig):line = [im.getpixel((x,y)) for x in range(widt)]idx = line.index(195)lines = line[idx:] + line[:idx]for x in range(widt):im.putpixel((x, y), lines[x])
im.show()

得到图片:

第17关的url为:http://www.pythonchallenge.com/pc/return/romance.html

转载于:https://www.cnblogs.com/xiaozx/p/10708261.html

the python challenge闯关记录(9-16)相关推荐

  1. 【xss-labs】闯关记录16~18

    [xss-labs]闯关记录16~18 [level-16]%0a绕过空格 1.测试流程 扔一个payload:<script>alert(888)</script>试试: 结 ...

  2. sqli-labs闯关记录(1~65关)

    sql漏洞闯关记录笔记(1~15) 1.基本知识 首先我们先了解SQL注入是什么: SQL注入是一种非常常见的数据库攻击手段,SQL注入漏洞也是网络世界中最普遍的漏洞之一,其实就是恶意用户通过在可提交 ...

  3. python制作闯关答题软件_教你轻松使用优考试制作互动闯关答题

    我们可以使用优考试在线考试系统组织招聘考试.培训考试.员工考核,或者是给学生做每日一练.模拟考试,或者我们可以拿来协助创建在线的知识竞赛比赛.但是,其实优考试推出了一个新的功能,就是创建闯关答题的功能 ...

  4. 70亿人(7 billion humans)闯关记录

    文章目录 前言 一.7 Billion Humans是什么? 二.闯关记录 总结 前言 70亿人(7 billion humans)闯关记录 一.7 Billion Humans是什么? 早前,「70 ...

  5. 计算机协会小游戏,网页闯关小游戏闯关记录(一)ISA TEST

    在知乎上找到一个关于CTF入门的回答,答主很专业的给出了建议和一些对应的训练平台,这里我试了试几个,自己半吊子水平,只能玩一些简单的,这里把自己做的过程记录下来,这几个基本都能查到通关秘籍(我是怎么知 ...

  6. Python 爬虫闯关

    (个人经验,仅供参考,错误之处,敬请谅解) 前言 学到python的爬虫,有个链接是黑板课闯爬虫关的,于是去试了下     第一关     第二关     第三关:链接以此类推,不过有个防护,登陆之后 ...

  7. python challenge 0-6关 攻略

    在逛北邮人论坛python版时看到暖神推荐的python challenge这个编程通关小游戏,挺有意思的,还能用来练python.一直觉的自己会的太少,但是又不知道该从哪补起,该看些什么.这个编程小 ...

  8. python制作闯关答题软件_闯关答题-可以用做问答互动的软件-闯关答题会议 微信 问答游戏GO互动智能现场...

    画面精美,年味与科技感十足 闯关答题是益智类的互动游戏,可以满足各个年龄段的需求.来宾扫码进入游戏之后,主办方在大屏点击开始问问题,来宾就可开始答题闯关了,每道题有规定的时间,在规定时间内答对则晋级, ...

  9. 【CTF】梦之光芒/Monyer的游戏闯关记录

    eGl的梦之光芒Game1解题记录 刚接触安全的时候偶然间发现了这个小游戏,当时凭自己一点点的基础知识闯过了4.5关这样子,然后就一头雾水了.这个游戏也一直躺在我的收藏夹里.不想前几天偶然打开发现和c ...

最新文章

  1. python两列数据生成邻接矩阵_用python实现邻接矩阵转换为邻接表,python语言实现...
  2. 用excel制作双层饼图_双层饼图,让你的工作更出彩
  3. 初探数位DP-hdu2089
  4. java中none applicable_Java线程使用技巧学习(二)
  5. 各计算机系统用传输介质互连,计算机网络技术与应用.doc
  6. 大型网站seo方案_网站seo完整的优化方案
  7. 关于搜索引擎原理的详细解读
  8. 网站优化快速排名软件大全
  9. 测试页能打印 软件不能打,Windows7分享打印机能打测试页打印文件怎么没反应
  10. Depends简介与使用说明
  11. 智慧园区SaaS管理系统解决方案:赋能园区实现信息化、数字化管理
  12. 基于WEB的网上在线图书商城
  13. 结识51CTO学院后【51CTO学院三周年】
  14. Wireshark 301: Spying on what people are downloading (Part 2 of 2)
  15. 农村信用社招聘计算机类进去干啥,2008年山东农村信用社招聘考试计算机类的范围有知道的吗?...
  16. 今日头条测开----2轮
  17. Qt学习笔记(二)【软件样式及界面外观设置】
  18. 宠物食品“味及”完成数百万天使轮+融资
  19. wps office word 插入图片显示异常 只显示一个长条
  20. android 视频画面拼接,Android实现视频剪切、视频拼接以及音视频合并

热门文章

  1. Ubuntu18.04 如何安装GPU驱动
  2. vscode 宏命令快捷键步骤
  3. Win2000 DDK 开发环境
  4. 正能量系列 女性程序员篇
  5. 新手数据科学家常犯的13种错误及其解决方法
  6. PhotoshopCS5第二篇 管理图像和使用绘图辅助工具
  7. Linux修改密码(强制修改)
  8. linux的yum命令无法使用在哪里下载_下载:微软正式发布Win10 2004版并即日起开始推送...
  9. Android Studio下载SDK资源慢怎么办
  10. 我的mysql小笔记