连接:
http://www.pythonchallenge.com/pc/hex/bin.html
百度了一下,看看别人的答案,原来是根据图片的颜色不一样,需要将wav文件反转,
登陆密码:(butter,fly)
_______________________________________________________________________________________________
图片是印度大陆,上面很多文字,,看不清,应该是地名吧
标题:please!
注释:有很多
From: leopold.moz@pythonchallenge.com
Subject: what do you mean by "open the attachment?"
Mime-version: 1.0
Content-type: Multipart/mixed; boundary="===============1295515792=="
It is so much easier for you, youngsters.
Maybe my computer is out of order.
I have a real work to do and I must know what's inside!
<table><tbody><tr><td class="line-content"><span class="html-comment">--===============1295515792==</span></td></tr><tr><td class="line-number" value="25"> </td><td class="line-content"><span class="html-comment">Content-type: audio/x-wav; name="indian.wav"</span></td></tr><tr><td class="line-number" value="26"> </td><td class="line-content"><span class="html-comment">Content-transfer-encoding: base64</span></td></tr></tbody></table>
——————————————————————————————————————————————————————————
百度一下:原来这是要我们从网页源码中给出了一封邮件,需要从附件生成一段音频文件进行音频的处理,播放音频,只有一个单词sorry,百度原来需要替换网址,发现提示:
"what are you apologizing for?"
import base64
with open('first.txt','r') as f:
data=f.read()
data_deb64=base64.b64decode(data)
with open('indian.wav','wb') as w:
w.write(data_deb64)
————————————————————————————————————————————————————————————
不知道该如何做了。看别人把这句话作为标题发给上面的邮箱,的到的回复是:
Never mind that.
Have you found my broken zip?
md5: bbb8b499a0eef99b52c7f13f4e78c24b
Can you believe what one mistake can lead to?
——————————————————————————————————————————————————————————————
百度了一下,看看别人的答案,原来是根据图片的颜色不一样,需要将wav文件反转,
import wave
wi = wave.open('indian.wav','rb')
wo = wave.open('indian_out.wav','wb')
#获取wav的(nchannels, sampwidth, framerate, nframes, comptype, compname)信息
wo.setparams(wi.getparams())
#根据声音的帧数,反转声音
for i in range(wi.getnframes()):
wo.writeframes(wi.readframes(1)[::-1]) #读取一帧反转一帧
wi.close()
wo.close()
—————————————————————————————————————————————————————————————————
录制视频的那个人使用的方法也不错,详细讲解了wav的构造,大家可以听听他的视频:
它使用的方法如下:
wi = open('indian.wav','rb')
wo = open('indian_out2.wav','wb')
data=wi.read()
wav_head,wav_data=data[:44],data[44:]
print(type(data[44:]))
print(type(data[44]))
print('%d'%(16+1))
#根据声音的帧数,反转声音
#chr(b2)+chr(b1),是因为bi,b2现在是十进制,转化为二进制
reverse_data=''.join(chr(b2)+chr(b1) for (b1,b2) in zip(wav_data[0::2],wav_data[1::2]))
#添加头部和声音数据
wo.write(wav_head)
#需要写入bytes类型
wo.write(reverse_data.encode('utf-8'))
wi.close()
wo.close()
——————————————————————————————————————————————
结果为:you are an idiot
下一关:
<a target=_blank href="http://www.pythonchallenge.com/pc/hex/idiot.html">http://www.pythonchallenge.com/pc/hex/idiot.html</a>