[카테고리:] PythonChallenge

The Python Challenge – Level 16

http://www.pythonchallenge.com/pc/return/mozart.html 접속하면 이상한 이미지가 하나 있고 제목으론 "let me get this straight" 라는 말이 있다. 뭘 어찌 하란건가 한참을 고민하다 이미지의 보라석 선이 일정하여 세로로 직선으로 이으면 이어질거 같았다. #!c:\python26\python.exe import Image, ImageDraw im = Image.open('mozart.gif') size = im.size tmp = Image.new('RGB', size, 'black') def gogo(posX, posY): for x in range(size[0]): pos = posX + …

The Python Challenge – Level 15

http://www.pythonchallenge.com/pc/return/uzi.html 문제 페이지에 나오는 달력 이미지를 보면 1xx6년도의 1월 26일이 월요인 해를 찾아야 한다. 아래 소스를 통해 1월 26일이 월요일인 해를 찾을 수 있었다. #!c:\python26\pyhton.exe from datetime import date year = 1996 for x in range(100): d = date(year, 1, 27) t = d.timetuple() ic = d.isocalendar() if ic[2] == 2: # if Tuesday? print …

The Python Challenge – Level 14

http://www.pythonchallenge.com/pc/return/italy.html 빵그림과 이상한 이미지를 하나 주어주고 풀라고 한다. 해당 페이지 소스를 보면 아래와 같은 힌트가 있다. <!– remember: 100*100 = (100+99+99+98) + (… –> 빵그림이 동그랗게 되어 있으므로 처음 아래 이상한 이미지를 처음 100 픽셀 짤라 맨 우측에 붙이고(빨간부분), 그다음 99 픽셀을 짤라 하단에 붙이고(파란부분), 다음 99 픽셀을 짤라 좌측에 붙이고(노란부분) 이런식으로 조금씩 짤라서 안쪽으로 …

The Python Challenge – Level 13

http://www.pythonchallenge.com/pc/return/disproportional.html 전화기 그림에서 5번을 클릭하면 xml 에러 메세지가 나온다. 이번 문제를 풀려면 xmlrpc에 대한 이해가 필요하다. #!C:\python26\python.exe from xmlrpclib import ServerProxy server = ServerProxy('http://www.pythonchallenge.com/pc/phonebook.php') print server.system.listMethods() print server.system.methodHelp('phone') print server.phone('blahblah') 대체 blahblah 부분에 어떤 단어를 넣어야 하는지 심히 생각했다. He is not the evil…? 대체 누구지? http://www.pythonchallenge.com/pc/return/evil4.jpg 주소에서 누군지 알 수 있었다. 왜 저 페이지는 …

The Python Challenge – Level 12

http://www.pythonchallenge.com/pc/return/evil.html 역시 어떤 이미지가 있다. 해당 이미지의 파일명을 살펴보니 evil1.jpg 이다. 그럼 evil2.jpg도 있는 것일까? 확인하여 보니 있다. not jpg .gfx 라는 메세지가 있었다. .gfx 파일이 있는 것일까 하고 evil2.gfx 파일이 있는지 확인해 보니 역시 파일이 있었다! evil2.gfx 파일을 HexEditor로 확인한 결과 반복적으로 같은 갯수의 더미값이 포함되며 이미지 헤더를 확인할 수 있었다. 그래서 데이터를 추출하여 …

The Python Challenge – Level 11

http://www.pythonchallenge.com/pc/return/5808.html 문제 페이지 제목이 odd ever 이다. 몰랐는데 이 뜻은 홀짝 이란다… 해당 페이지에 있는 cave.jpg 파일을 확대하여 본 결과 검은색 픽셀이 섞여 있는것을 볼 수 있었다. 그래서 검은색 부분이 아닌 부분만 따로 뽑아서 이미지로 만들어 보았다. #!c:\python26\python.exe import Image, ImageDraw im = Image.open('cave.jpg') size = im.size tmp = Image.new('RGB', (size[0]/2, size[1]/2), 'white') for x …

The Python Challenge – Level 10

http://www.pythonchallenge.com/pc/return/bull.html a = [1, 11, 21, 1211, 111221, ……] 이랜다. a[30] 값의 길이를 구하라고 하는데……알고보니 개미 수열이군… #!c:\python26\python.exe start = str(1) tmp = start[0] count = 0 final = '' print start for x in range(30): for y in range(len(start)): if tmp == start[y]: count += 1 else: final += str(count) + str(tmp) tmp = …

The Python Challenge – Level 9

http://www.pythonchallenge.com/pc/return/good.html 이전 레벨에서 구한 huge / file 로 접속하여 보면 그림이 나타난다. 그리고 소스를 보면 first와 second 값이 있다. 이 값들을 X,Y 좌표로 보고 선을 그려보면 아래와 같은 그림이 나타난다. #!c:\python26\python.exe import Image, ImageDraw 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] im = Image.new('RGB', (512, 512), 'white') draw = ImageDraw.Draw(im) count = 0 for y in …

The Python Challenge – Level 8

http://www.pythonchallenge.com/pc/def/integrity.html 문제 페이지에서 접속하면 파리같이 생긴 곤충의 그림이 나오고 소스를 보면 어떤 인코딩 된듯한 문자열이 나온다. 이후에 알게 되었지만 사진속의 곤충은 벌이였고 beezip을 의도한 것으로 보인다. #!c:\python26\python.exe import bz2 un = 'BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M\x07<]\xc9\x14\xe1BA\x06\xbe\x084' pw = 'BZh91AY&SY\x94$|\x0e\x00\x00\x00\x81\x00\x03$ \x00!\x9ah3M\x13<]\xc9\x14\xe1BBP\x91\xf08' print repr(bz2.decompress(un)) print repr(bz2.decompress(pw))

The Python Challenge – Level 7

먼저 문제 페이지는 아래와 같다. http://www.pythonchallenge.com/pc/def/hockey.html 해당 페이지에 접속을 하면 "it’s in the air. look at the letters." 라고 나온다. 공기중에서 볼 수 있는것? badcob님의 힌트를 받아 아래 페이지가 존재 한단것을 알 수 있었다. http://www.pythonchallenge.com/pc/def/oxygen.html (nomja님의 제보로 다시 한번 확인해보니 이전 문제에서 출력되는 hocky에서 이루어지는 글자가 oxygen이군!) 해당 페이지에는 이미지가 삽입되어 있었다. 이미지에서 회색 및 …