Python挑战游戏( PythonChallenge)闯关之路Level- 6

article/2025/9/12 14:38:42

来来来,难得今天有点时间,闯关继续

照旧,先进入闯关入口,看一看这一关是怎么回事:http://www.pythonchallenge.com/pc/def/channel.html



单纯的从网页页面上来看, 一个有拉锁的图片, 下面一个写有‘ PayPal  Donate’的按钮

首先点击 这个按钮, 它是一个支付页面, 希望能够捐赠一点资金来支持 python change 这个项目,明显的和闯关无关。


那我们还得照例,查看这个网页的源码:

<html><!-- <-- zip -->
<head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>now there are pairs</title><link rel="stylesheet" type="text/css" href="./now there are pairs_files/style.css">
</head>
<body>
<center>
<img src="./now there are pairs_files/channel.jpg">
<br>
<!-- The following has nothing to do with the riddle itself. I just
thought it would be the right point to offer you to donate to the
Python Challenge project. Any amount will be greatly appreciated.-thesamet
--><form action="https://www.paypal.com/cgi-bin/webscr" method="post"><input type="hidden" name="cmd" value="_xclick"><input type="hidden" name="business" value="thesamet@gmail.com"><input type="hidden" name="item_name" value="Python Challenge donations"><input type="hidden" name="no_note" value="1"><input type="hidden" name="currency_code" value="USD"><input type="hidden" name="tax" value="0"><input type="hidden" name="bn" value="PP-DonationsBF"><input type="image" src="./now there are pairs_files/x-click-but04.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!"><img alt="" border="0" src="./now there are pairs_files/pixel.gif" width="1" height="1">
</form></center></body></html>

这一关其实真的很迷惑,我们看完网页源码,其实没有什么有用的信息.

再次仔细观察,也就两段注释可能有用‘   <!-- <-- zip -->     ‘  以及 ’The following has nothing to do with the riddle itself. I just
thought it would be the right point to offer you to donate to the
Python Challenge project. Any amount will be greatly appreciated.’

那第二段注释的内容是说:

以下与谜语本身无关。我只是
认为这是正确的点,提供你捐赠给
挑战项目。任何金额将不胜感激。
- thesamet

所以也就剩下第一段注释有用了.

思路是什么呢? 一个可能是本关卡跟 zip  这个包有关,python里面带的有这个模块, 另外呢, 需要重新替换网址。

先尝试替换网址吧:

按照之前的闯关规则, 替换成:http://www.pythonchallenge.com/pc/def/zip.html

但是网页提示如下:

yes. find the zip.
看来思路是正确了,但是明显这个替换方式不对

那么,再次尝试:http://www.pythonchallenge.com/pc/def/channel.zip

这样我们就得到了一个 zip 文件: channel.zip

本地解压这个压缩文件,随便打开一个,发现跟之前的关卡 类似,但是同时注意到, 这里有一个readme文件,先看这个:

welcome to my zipped list.hint1: start from 90052
hint2: answer is inside the zip

所以呢, 处理这些个文件,得先从90050.txt开始处理了

#!/usr/bin/python
# coding:utf-8start_file_name='90052'
while True:f= open('channel/%s.txt' % start_file_name)data= f.read()new_number = data.split(' ')[-1]print 'data is : %s '% data,print 'current number is : %s' % new_numberf.close()if new_number:if new_number.isdigit():start_file_name=new_numberelse:print 'The final data is : %s' % databreakelse:print 'The final data is : %s' % databreak

执行上面这段程序,最后得到了这句话:

The final data is : Collect the comments.

那其实呢,也就是说,谜底并不是说直接写在文件中内

需要再次使用别的方法来解决这个问题。


那么我们就得再次回到网页源码的提示上来

python 里面没有 zip这个包,但是有一个叫做 zipfile 的

因此这个谜底的关键还在于这个  zipfile

#!/usr/bin/python
# coding:utf-8import zipfilezf=zipfile.ZipFile('channel.zip')
start_file_name='90052'
zc=[]while True:f= open('channel/%s.txt' % start_file_name)data= f.read()new_number = data.split(' ')[-1]print 'data is : %s '% data,print 'current number is : %s' % new_numberf.close()zc.append(zf.getinfo(start_file_name+'.txt').comment) # 只用在每一个文件查看结束之后,提取出来它的文档说明信息即可print zf.getinfo(start_file_name+'.txt').comment    #ZipInfo.comment: 获取文档说明。if new_number:if new_number.isdigit():start_file_name=new_numberelse:print 'The final data is : %s' % databreakelse:print 'The final data is : %s' % databreak
print ''.join(zc)  #最终将所有的文档信息聚合到一起同时打印,即可得到最终信息print zf.getinfo('90052.txt').comment
#for i in zf.infolist():
#	print i,i.filename,i.file_size,i.header_offset
print zf.namelist()[2]  #直接获取压缩包中的文档名字
print zf.read(zf.namelist()[3])    #直接获取压缩包中的文档内容
最后得到的信息如下:

The final data is : Collect the comments.
****************************************************************
****************************************************************
**                                                            **
**   OO    OO    XX      YYYY    GG    GG  EEEEEE NN      NN  **
**   OO    OO  XXXXXX   YYYYYY   GG   GG   EEEEEE  NN    NN   **
**   OO    OO XXX  XXX YYY   YY  GG GG     EE       NN  NN    **
**   OOOOOOOO XX    XX YY        GGG       EEEEE     NNNN     **
**   OOOOOOOO XX    XX YY        GGG       EEEEE      NN      **
**   OO    OO XXX  XXX YYY   YY  GG GG     EE         NN      **
**   OO    OO  XXXXXX   YYYYYY   GG   GG   EEEEEE     NN      **
**   OO    OO    XX      YYYY    GG    GG  EEEEEE     NN      **
**                                                            **
******************************************************************************************************************************

这样我们得到下一关的地址:HOCKEY


然后再重新排列组合一下,得到了: oxygen

那么下一关的网址就是:http://www.pythonchallenge.com/pc/def/oxygen.html




(程序后续补上,暂时先到这了)

http://www.pythonchallenge.com/pc/def/oxygen.html




http://chatgpt.dhexx.cn/article/J4a9EJDc.shtml

相关文章

Python菜鸟快乐游戏编程_pygame

曾经我也沉迷游戏&#xff0c;连续玩十几个小时竞技游戏可以不吃饭。游戏只是别人写好程序&#xff0c;与其沉迷于他人设计好程序&#xff0c;为何不自己设计游戏&#xff0c;至少学会编程后&#xff0c;我们的月收入上万不是问题。于是便有了录制这部pygame菜鸟游戏编程教程动…

【pythonchallenge】【问题1】

网页标题&#xff1a;What about making trans?问题网址&#xff1a;http://www.pythonchallenge.com/pc/def/map.html问题描述&#xff1a;问题给了个图片&#xff0c;是map的对应关系&#xff0c; everybody thinks twice before solving this. g fmnc wms bgblr rpylqjyrc…

Python挑战游戏( PythonChallenge)闯关之路Level- 1

闯关过程 关卡入口地址&#xff1a; http://www.pythonchallenge.com/pc/def/map.html 打开页面是这样的&#xff1a; 在图中的你内容&#xff0c;可以看到 K->MO->QE->G 直观上感受是&#xff0c;字符串对应解析 也就是说&#xff0c;26个英文字符依次和图片下面的…

chatgpt赋能Python-pythonchallenge

Python Challenge: 挑战你的Python技能 如果你正在寻找一种提高Python编程技能的有趣方法&#xff0c;那么Python Challenge是一个不错的选择。Python Challenge是一个在线的puzzle游戏&#xff0c;每个挑战都需要使用Python编写程序来解决。这些挑战是由一个名叫Nadav Samet的…

Python Challenge 第2关

http://www.pythonchallenge.com/pc/def/ocr.html recognize the characters. maybe they are in the book, but MAYBE they are in the page source. 第2关&#xff1a;从现在开始&#xff0c;要从页面中寻找答案了。其实是在注释中。从页面源码中可以发现其有一段注释&#x…

pythonchallenge(0-4)

pythonchallenge 0&#xff1a;网址&#xff1a;http://www.pythonchallenge.com/pc/def/0.html 网页提示&#xff1a;try to change the URL addres。网站的图片提示如下&#xff1a; 图片的意思是网址为2的38次方 print(2**38)得到下一关的网址&#xff1a;http://www.pyt…

Python Challenge

Level 0 [1] Hint: try to change the URL address. 第零关主要让人熟悉游戏规则和形式。首先观察标签栏主题显示的是warming up&#xff0c;表明这关的主题是热身。页面图片下标注一行小提示尝试改变url的地址。在没有别的提示下&#xff0c;明显是改成图片内的内容&#xff0…

pythonchallenge(5-9)

pythonchallenge 5&#xff1a;网址&#xff1a;http://www.pythonchallenge.com/pc/def/peak.html 查看页面源代码有提示.peak hell sounds familiar.考察的是标准库pickle的。pickle模块用来实现python对象的序列化,反序列化。构建payload: import urllib.request as urt i…

Python Challenge 题解 [0-4]

Challenge 0 转到 Python Challenge 题目0 分析 从图片中可看出,该题的答案应为2的38次方 完整程序 2**38Challenge 2 转到 Python Challenge 题目 everybody thinks twice before solving this. g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dm…

pythonchallenge闯关——第一弹

说在前面 pythonchallenge是一个很古老的很优秀的一款python学习路径&#xff0c;我也是知乎搜到后&#xff0c;这里安利给大家&#xff0c;网址是&#xff1a; pythonchallenge 界面是介样子的 &#xff1a; P.S. 本人也是python小白&#xff0c;在这里记录自己的学习路径&…

PythonChallenge闯关详解

前言 PythonChallenge是国外的一位工程师设计的一套编程闯关游戏&#xff0c;网址&#xff1a;PythonChallenge&#xff0c;每一关都可以用一段Python程序解决问题得到下一关的入口&#xff0c;本博文作为一个学习笔记&#xff0c;通过边学边记的方式分享我的闯关经验。 0 图片…

scanf返回值被忽略问题

解决Visual Studio中scanf返回值被忽略问题 最近在使用Visual Studio编写c语言时遇到了scanf返回值被忽略问题 总结了如下几种解决方法&#xff1a; 方法一&#xff08;不建议&#xff09; scanf修改成 scanf_s 可以说scanf_s是vs编译器特有的&#xff0c;它认为scanf不安全&…

scanf库函数的返回值

目录 一背景&#xff1a; 二 scanf返回值规则 1.在格式字符串为用%d的情况下 (1)输入5 6此时scanf能正确读入的数据为两个&#xff0c;返回值为2 scanf正确读入概念补充 (2)如果输入5 t此时能正确读入的数据为1个&#xff0c;返回值为1。 (3)如果输入1 2.5 (4)输入t 5&a…

scanf的返回值被忽略

scanf的返回值被忽略 在编译器VS2019和VS2022中&#xff0c;在使用scanf函数时会报错&#xff0c;具体错误scanf的返回值被忽略。 解决办法 方法一 可以直接将scanf改成scanf_s,因为编译器觉得scanf_s这是比较安全的函数。 方法二 我们可以关闭VS2019和VS2022编译器的安全检查…

scanf返回值被忽略的办法

1、右击项目&#xff0c;点击属性 2、在预处理定义中输入_CRT_SECURE_NO_WARNINGS&#xff0c;点击确认 需要注意的是如果再创建了一个项目需要重新再设置一次哦&#xff01;或者把sanf改为scanf_s也可以哦。

为什么VS/VsStudio当中警告返回值被忽略“scanf” ?VsStudio中scanf返回值被忽略的原因及其解决方法

警告原因&#xff1a;Vs 认为 scanf 函数不安全 所以提示警告⚠ 解决方案一&#xff1a; 只需将 scanf() 替换为 scanf_s() 原因&#xff1a;scanf_s 是 VsStudio自己定义的函数 功能和 scanf() 类似&#xff0c; 所以不会有警告 优点&#xff1a; 正常运行不会再有警告 …

VS2022中scanf返回值被忽略的原因及其解决方法

额 产生原因&#xff1a; scanf()函数在读取时不检查边界&#xff0c;所以可能会造成内存泄漏。有一定的安全隐患。 此时会提醒你把scanf换为scanf_s&#xff1b;BUT&#xff0c;scanf_s是VS特有的函数&#xff0c;写了之后在别的编译器上就无法执行&#xff0c;使得代码的可移…

scanf返回值

转载于:https://www.cnblogs.com/fairy-wzp/p/6926244.html

两个办法轻松解决VS中”scanf返回值被忽略“问题

出现原因&#xff1a; 在ANSI C中只有scanf()&#xff0c;没有scanf_s()&#xff0c;但是scanf()在读取时不检查边界&#xff08;忽略检查返回值&#xff09;&#xff0c;所以可能会造成内存泄漏&#xff0c;于是Microsoft公司在VS编译器中提供了scanf_s()&#xff08;注意只有…

【C语言入门】VS编译器:scanf返回值被忽略

一、发现问题 学习C语言中使用VS编译器&#xff0c;期间使用scanf函数会遇到报错警告&#xff1a;返回值被忽略&#xff1a;"scanf"的情况。 二、分析问题 这个问题是因为scanf不检查边界&#xff0c;会引起内存泄露&#xff0c;造成安全隐患。虽然微软VS编译器中…