Category: PythonChallenge

The Python Challenge – Level 26

http://www.pythonchallenge.com/pc/hex/decent.html 문제페이지 소스를 보면 아래와 같다.[code lang-html]<html><head>  <title>be a man – apologize!</title>  <link rel="stylesheet" type="text/css" href="../style.css"></head><body><center><br><img src="decent.jpg"> <!– you’ve got his e-mail –><br><br><font color="gold"/>Hurry up, I’m missing the boat</font></body> </html> <!–Join us at the IRC: irc.freenode.net #pythonchallenge–>[/code] 우선 주석 내용을 살펴보면 메일을 받았다고 한다. 이전 문제 중 메일과 관련된 문제는 19번 문제이다. 19번 문제 페이지의 …

The Python Challenge – Level 25

http://www.pythonchallenge.com/pc/hex/lake.html 이번 레벨은 너무 어려웠다. 우선 문제 페이지의 소스를 보도록 하자.[code lang-html]<html><head>  <title>imagine how they sound</title>  <link rel="stylesheet" type="text/css" href="../style.css"></head><body><center><br><br><img src="lake1.jpg"> <!– can you see the waves? –></body></html>[/code] 주석을 보면 waves 가 보이냐고 한다. 이 부분에서 lake1.jpg 가 아닌 lake1.wav 파일이 있다는 것을 유추해내어야 한다 -_-; 뭐 일단 그리해서 lake1.wav, lake2.wav 로 해서 계속 받아진다. …

The Python Challenge – Level 24

http://www.pythonchallenge.com/pc/hex/ambiguity.html 접속을 하면 아래와 같인 미로 이미지가 나온다. 오른쪽 상단을 입구로 해서 왼쪽 하단의 출구로 나가는 미로찾기를 작성해야 하는 것으로 보인다. 미로찾기 알고리즘은 여러 알고리즘이 있으나 가장 간단한 좌수법(왼손으로 벽짚고 따라가기) 으로 작성하여 보았다. 좌수법의 알고리즘 원리는 아래와 같다. 1. 왼쪽이 비어있으면 왼쪽으로 먼저 간다.2. 왼쪽이 막혀있고 위쪽이 비어있으면 위쪽으로 간다.3. 왼쪽, 위쪽이 막혀있고 오른쪽이 …

The Python Challenge – Level 23

http://www.pythonchallenge.com/pc/hex/bonus.html 문제 페이지 접속 후 해당 문제 소스를 보면 아래와 같다.[code]<!–TODO: do you owe someone an apology? now it is a good time totell him that you are sorry. Please show good manners althoughit has nothing to do with this level.–><html><head>  <title>what is this module?</title>  <link rel="stylesheet" type="text/css" href="../style.css"></head><body><center><br><br><img src="bonus.jpg"> <!–     it can’t …

The Python Challenge – Level 22

http://www.pythonchallenge.com/pc/hex/copper.html 위 페이지의 소스를 보면 아래와 같은 주석이 있다. <!– or maybe white.gif would be more bright–> white.gif 파일을 좀 더 밝게 해란다. 또 PIL을 이용해야 하는 문제인가보다. white.gif 파일을 확인하여 보면 gif로 애니메이션 파일이다. 각 프레임별로 이미지를 뽑아서 밝기를 높혀보면 점이 나오는 것을 알 수 있다. 이 점들이 움직이는 대로 선을 그려 보면 문자가 …

The Python Challenge – Level 21

해당 문제는 20번에서 받은 파일을 이용하여 푸는 문제 이다. "invader"를 거꾸로 하여 압축을 풀고 나면 package.pack 파일이 나오게 된다. 해당 파일을 Hex Editor로 열어 확인하여 보면 헤더가 [78 9C] 로 시작함을 알 수 있다. 구글링을 하여보니 zlib 관련 파일로 확인되었다. 따라서 zlib 라이브러리를 사용하여 압축을 해제한다. 해제하면 다시 zlib 관련 파일이 나오며 계속해서 안풀릴때 까지 …

The Python Challenge – Level 20

http://www.pythonchallenge.com/pc/hex/idiot2.html 첫 페이지에 접속하면 이미지만 하나 달랑 주어진다. 이 이미지를 살펴보면 파일명이 unreal.jpg 이다. 이미지 파일에 무언가 있을듯하여 살펴보면 다음과 같다. 우선 해당 파일일 요청 시 헤더를 살펴보면 Range가 특이한 걸 알 수 있다. 따라서 Range를 변경시켜 가다보면 특정 메세지를 받을 수 있고 최종 파일을 다운로드 할 수 있게 된다. 아래는 특정 메세지 및 최종 …

The Python Challenge – Level 19

http://www.pythonchallenge.com/pc/hex/bin.html 소스를 보면 왠 Base64로 인코딩된 데이터들이 있다. 이 데이터들을 디코딩 하여 wav 파일로 만들어 보면 "Sorry" 라는 말만 나올뿐 어떤 메세지도 들을 수 없었다. 이것저것 해보다 해당 wav 파일의 width 값을 변경하니 들리지 않던 메세지가 나왔다… 그 메세지는 직접 들어보시길 -_- [code]#!c:\python26\python.exeimport urllib, base64, waveurl = urllib.urlopen(‘http://butter:fly@www.pythonchallenge.com/pc/hex/bin.html‘)data = url.readlines()url.close() data = data[27:1986]data = ”.join(data)data …

The Python Challenge – Level 18

http://www.pythonchallenge.com/pc/return/balloons.html 비슷한 두개의 그림이 보이며 소스를 보면 "it is more obvious that what you might think" 라는 메세지가 있다.두 그림의 확실한 차이점은  밝기 이다. 따라서 밝기를 영어로 bright 이니 bright.html 로 접속해 보니 ness 라는 메시지가 나왔다. 따라서 아래 페이지를 확인할 수 있었다. http://www.pythonchallenge.com/pc/return/brightness.html 이 페이지 소스에는 deltas.gz 파일이 소스에 들어 있었다. deltas.gz 파일 내용을 …

The Python Challenge – Level 17

http://www.pythonchallenge.com/pc/return/romance.html 이미지를 보면 쿠키 그림이 있다. cookies.html 페이지가 존재 함을 알 수 있었고 chocolate.html 그리고 play.html이 존재한다. 하지만 마지막에 가보면 되돌아가라는 메세지 뿐이다. 다시 한번 이미지 그림을 살펴 보면 왼쪽 하단에 이전에 보았던 이미지가 있다. Level 4에서의 이미지이며 Level 4로 되돌아 가면 쿠키가 셋팅된다. you should have followed busynothing… busynothing의 이미지를 한참 생각하다 Level 4의 …