The Python Challenge – Level 19

http://www.pythonchallenge.com/pc/hex/bin.html

소스를 보면 왠 Base64로 인코딩된 데이터들이 있다. 이 데이터들을 디코딩 하여 wav 파일로 만들어 보면 "Sorry" 라는 말만 나올뿐 어떤 메세지도 들을 수 없었다.

이것저것 해보다 해당 wav 파일의 width 값을 변경하니 들리지 않던 메세지가 나왔다... 그 메세지는 직접 들어보시길 -_-

#!c:\python26\python.exe
import urllib, base64, wave
url = 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 = data.replace('\n', '')
data = base64.b64decode(data)

file = open('output1.wav', 'wb')
file.write(data)
file.close()

wav = wave.open('output1.wav', 'r')
param = wav.getparams()
print param
data = wav.readframes(55788)
wav.close()

output = wave.open('output2.wav', 'w')
output.setparams((1, 1, 21025, 55788, 'NONE', 'not compressed'))
output.writeframes(data)
output.close()

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다