这一下午闲的,记一次下载突破

多年前一伪文青给我介绍了”邻居的耳朵(ear.duomi.com)“,一个原创音乐电台网站,一直很喜欢里面的有声电台。
之前在某个网盘下过一些,特别喜欢在人少的林荫小道开着车,感叹着有声电台里面的形形色色,悲欢离合。
车里的音乐和有声电台都快听烂了,趁着下午没事,打算更新点。

问题来了...
以前“邻居的耳朵”虽然没有提供下载连接,但是可以通过多米下载,但是现在多米已经不提供了,里面仅有的一些都不知道多少年前的了。

但我是技术型文青 ,第一次突破开始。。。
分析网页源代码,发现是通过Audio Player flash插件来播放的,但是源地址已经加密,soundFile里就是加密的后的源地址。

请输入图片描述

其实这种加密在我看来完全没什么作用,简单的抓包即可获取真实源地址,严重强迫症的我不打算抓包,我打算写个解密函数,方便以后使用,首先下载网页上的播放插件player.swf,通过SWFDecompiler反编译出fla文件,顺藤摸瓜,很容易就找到了_sixBitDecode解密函数

请输入图片描述

但这是as脚本的解密函数,没法直接用,还好,所有的语言都大同小异,依样画葫芦,写了个php的解密文件

请输入图片描述

well done!成功解密出源地址

请输入图片描述

这下简单了,直接开迅雷下载。
问题又来了,迅雷完全不动,根本无法下载,直接浏览器试了下。。。

请输入图片描述

看来管理员是做了防盗链,好吧,开始第二次突破,host伪造ear.duomi.com,指到本地的iis服务器

请输入图片描述

通过简单的测试,发现源地址的域只要是duomi.com,都可以访问 stream0.kxt.fm,看来管理员做了http的referer。

ok,开始第三次突破!
祭出我的宝器--Delphi,用pascal又重写了一遍解密函数。
PS:写了这么多年的delphi才发现pascal的for循环原来是不可以直接指定步长的,只能婉转的表达步长

请输入图片描述

关键的来了,红框部分为伪造的referer,这样就可以欺骗对方的服务器了

请输入图片描述

搞定!!!来个效果图!!!

请输入图片描述

顺带着完善了下,直接填写页面地址,会自动解析下载连接,自动命名文件,直接下载。 有兴趣的PM我。

本文链接:

http://heylc.com/something/29.html
5 + 12 =
快来做第一个评论的人吧~