宝刀不老:Flash歌曲播放网站MP3地址隐藏机制完全破解

晚上,小落给推荐了一首非常好听的Folk名谣,说是网上很难找到的。:)给了一个地址:http://www.neocha.com/naivete/music!1657.html

听了之后,很是喜欢这种风格。然后baidu了一个下载地址发给她,说是这个flashMP3的地址,后来非要让我如何找到的….冂冏囧….只好拾起尘封了n久的hack技术

      

       首先查看Page Source,找到相关的一段:

 

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"

codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="280" height="277" id="musicMovie" align="middle">

<param name="movie"

value="/-/flash/music_player_dq.v28.swf?id=1657&un=naivete">

       <param name="quality" value="high">

       <param name="wmode" value="transparent">

 

       <embed src="/-/flash/music_player_dq.v28.swf?id=1657&un=naivete" quality="high"

wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer"

type="application/x-shockwave-flash" width="280" height="277"

name="musicMovie">

</embed>

</object>

                                                                                            </object>

       初步猜想,恩,MP3的相关的信息保存在一个xml文件里面,只需要找到这个xml,然后找到里面的mp3的对应地址就ok了。这也是类似的网站经常使用的技术。。。

       根据上面的object的信息,拼起来了这个地址然后打开:

http://www.neocha.com/-/flash/music_player_dq.v28.swf?id=1657&un=naivete

恩,这个是一个flash,初步思路是获取到这个flash,然后反编译一下,看看是读取的哪个地方的MP3URLok了。

抄起迅雷,添加下载信息,直接填上这个链接,把这个flash下载下来。下载之后得到这个文件名的东西:music_player_dq.widget.v26.swf

抄起闪客精灵,反编译之

 

然后查看一共21个动作的Script脚本。。。

功夫不负有心人,在名称为sprite64的动作脚本中发现了比较敏感的东西:

 

function loadXMl()

    {

        myxml = new com.makeit.xmlClass("music_playlist.xml");

        var _l2 = new Object();

        function xmlComplete(albumArr, musicArray, parameterArr)

        {

            com.makeit.musicDocument.thisObj.albumArr = albumArr.slice();

            com.makeit.musicDocument.thisObj.musicArray = musicArray.slice();

            com.makeit.musicDocument.thisObj.parameterObj = parameterArr;

            com.makeit.musicDocument.thisObj.setFunc();

        } // End of the function

        myxml.addListener(albumArr);

    } // End of the function

 

啊哈,Load Xml。而且xml文件的名称都有了,恩,立马蹭蹭蹭的构造了几个xml的路径:

http://www.neocha.com/naivete/music_playlist.xml

http://www.neocha.com/-/flash/music_playlist.xml

http://www.neocha.com/-/xml/music_playlist.xml

….

啥都没有。。sad。。不泄馁,继续寻寻觅觅,终于,在这个动作的下一个动作里面发现了感兴趣的东西:

function loadXml()

    {

        static function onLoad(success)

        {

            if (success)

            {

                com.makeit.xmlClass.thisObj.parseAlbum_fun();

            } // end if

        } // End of the function

        if (_root.id == undefined)

        {

            id = "3378";

        } // end if

        if (_root.un == undefined)

        {

            un = "banana_monkey";

        } // end if

        myxml.load("http://www.neocha.com/-/xml/music_player.jsp?id=" + _root.id +

"&un=" + _root.un + "&a=" + Math.random() * 9999);

    } // End of the function

 

看到这里俺就开始得意了,胜利就在眼前了,迅速构造一地址:

http://www.neocha.com/-/xml/music_player.jsp?id=3378&un= banana_monkey&a=9999

       使用IE打开去,结果很差很失望,打不开,找不到这个地址。恩,转变思路,这个jsp文件应该是负责后台的某些逻辑处理的,关掉IE,迅雷上。

       果然,出现重大转机,下载得到的文件打开如下:

 

<?xml version='1.0' encoding='UTF-8'?>

<music-player>

       <albums>             

       <album>

       <album-id>0</album-id>

       <album-title>未分类&nbsp;</album-title>                  <album-picture>http://www.neocha.com/-/res/banana_monkey/20080414131625686093_t.jpg</album-picture>

       <album-link>http://www.neocha.com/banana_monkey/record!0.html</album-link>

       <musics>                           

       <music>

       <music-id>3378</music-id>

       <music-title>Baby in Red (Lovely Version)</music-title>                         <music-picture>http://www.neocha.com/-/res/banana_monkey/20080414131625686093_o.jpg</music-picture>                               <music-file>http://www1.neocha.com:90/-/res/banana_monkey/20080414131625702094.mp3</music-file>                              <music-link>http://www.neocha.com/banana_monkey/music!3378.html</music-link>

                                   <music-artist>Banana Monkey&nbsp;</music-artist>

                                   <music-album>未分类&nbsp;</music-album>

                                   <music-corp>&nbsp;</music-corp>

                                   <music-publish>&nbsp;</music-publish>

                                   <music-genres>Rock摇滚,8-Bit8比特&nbsp;</music-genres>

                                   <music-comment-cnt>0</music-comment-cnt>                                     <music-comment-url>http://www.neocha.com/banana_monkey/music!3378.html#comment</music-comment-url>                         

<music-favorite-cnt>0</music-favorite-cnt>                                   <music-favorite-url>http://www.neocha.com/banana_monkey/music!3378.html</music-favorite-url>

       <music-vote-cnt>0</music-vote-cnt>                              <music-vote-url>http://www.neocha.com/banana_monkey/music!3378.html</music-vote-url>

       <music-favorited>2</music-favorited>

</music>

       </musics>

       </album>

       </albums>

 

       <username>banana_monkey</username>

       <user-url>&nbsp;</user-url>

       <user-picture>&nbsp;</user-picture>

       <default-album-id>0</default-album-id>

       <!-- 默认播放的专辑 -->

       <auto-start>1</auto-start>

       <!-- 1自动 0 手动 播放-->

       <color1>#000000</color1>

       <color2>#999999</color2>

       <color3>#FFFF00</color3>

       <color4>#FFFF00</color4>

 

</music-player>

<script src="http://www.neocha.com/-/js/urchin.js" type="text/javascript"></script>

<script type="text/javascript">

_uacct = "UA-828246-1";

urchinTracker();

</script>

 

看到没,看到MP3这个后缀的时候,第一感觉找到了。

不过很遗憾,下载了这首MP3之后发现,是一首Rock…

 

感觉世界一下灭了。。这个时候决定转变思路。。

 

抄起嗅探工具,好多年前的winsock也不在身边了,唉,只好问liunice要一个ie的插件,装了起来….

看来又要分析IE的数据包了

 

安装插件的时候,仔细的看了下载的这个文件的格式,忽然灵光一现,music标签下面的不就是动作script里面的好多的参数的么。。豁然开朗了:

这个文件就是上面的那个jsp文件根据参数读取数据库动态生成的flashMP3文件地址的xml配置文件。

找到了key Point

<music-link>http://www.neocha.com/banana_monkey/music!3378.html</music-link>

打开这个链接,链接的格式是如此的熟悉,打开之后,出现了刚才的那个下载的熟悉的bananaRockoh yeah

 

搞定!

 

回到开头的最开始安小落MM发的URL

http://www.neocha.com/naivete/music!1657.html

根据这个URL来构造这首MP3

http://www.neocha.com/-/xml/music_player.jsp?id=3378&un= banana_monkey&a=9999

两个地址相加,得到最终地址:

http://www.neocha.com/-/xml/music_player.jsp?id=1657&un=naivete&a=9999

 

迅雷下载这个URL,在<music-file>标签找到了想要的东西:

<music-file>http://www1.neocha.com:90/-/res/naivete/20071124214646754207.mp3</music-file>

呵呵,剩下的事情,就是永久的拥有这首好听的“穿格子衬衫的teddy熊”了。

恩,还有,破解和这个网站整个的flash播放音乐隐藏真实地址是如何实现的。。不过这不是主要目的。。

 

lbq1221119 5/24/2008 11:26:19 PM 首发lbq1221119.cnblogs.com

posted on 2008-05-24 23:36 lbq1221119 阅读(3059) 评论(53)  编辑 收藏 所属分类: Security

评论

#1楼  2008-05-24 23:56 Kingthy      

装个HttpWatch插件吧.不用这么麻烦:)   回复  引用  查看    

#2楼  2008-05-24 23:57 slightboy      

用个嗅探器好了, 不需要这么麻烦   回复  引用  查看    

#3楼 [楼主] 2008-05-25 00:02 lbq1221119      

@Kingthy
@slightboy
........................................   回复  引用  查看    

#4楼 [楼主] 2008-05-25 00:04 lbq1221119      

@Kingthy
@slightboy
我是本着实事就是诲人不倦的精神。。
唉,老了,老了..   回复  引用  查看    

#5楼  2008-05-25 00:09 深蓝      

直接抓包,20秒不到就找到了地址:
http://www1.neocha.com:90/-/res/naivete/20071124214646754207.mp3   回复  引用  查看    

#6楼 [楼主] 2008-05-25 00:18 lbq1221119      

@深蓝
来个一题多解吧。。   回复  引用  查看    

#7楼  2008-05-25 00:40 刘亮      

你是没遇到.mp3做过防盗链的。你去在线听歌的大站,他们的mp3都下载不了的。用了UUDOG之类的防盗技术的。这个技术主要有三个方面1.cookies绑定。2.地址加密串 3.判断http_refer信息。不知道大家有没有兴趣研究下。   回复  引用  查看    

#8楼  2008-05-25 00:40 xwang      

:-) 解决问题的思路分享才最重要。。。。 为精神赞一个   回复  引用  查看    

#9楼 [楼主] 2008-05-25 01:00 lbq1221119      

@刘亮
还真没研究过..恩 有兴趣看看是如何实现的..   回复  引用  查看    

#10楼  2008-05-25 01:08 水煮 鱼      

為樓主如此的專研,致敬!   回复  引用  查看    

#11楼  2008-05-25 01:12 native [未注册用户]

不是一般的麻烦。开个firebug,一瞬间。。。。   回复  引用    

#12楼  2008-05-25 01:46 fox23      

兄弟精神可嘉~ 偶曾经也干过类似的事 哈哈~   回复  引用  查看    

#13楼  2008-05-25 02:35 随风飘扬 [未注册用户]

嗅探器是多么轻松的事情。。。HttpWatch 或 IE Developer Toolbar V2 均可   回复  引用    

#14楼  2008-05-25 02:50 vvv222 [未注册用户]

在Google Reader是看到这篇文章,想进来说说嗅探器之类的东西,没想到深更半夜的还有这么多人在留言,呵呵 。。。   回复  引用    

#15楼  2008-05-25 08:10 伍迷      

研究过程很重要,结果不重要,如同研究.net源代码并不是要你去写一个.net框架,而是为了学习它。支持楼主的钻研和分享精神。   回复  引用  查看    

#16楼  2008-05-25 08:40 小落 [未注册用户]

怎么这么复杂。。。   回复  引用    

#17楼  2008-05-25 09:17 修行的魔法师 [未注册用户]

楼上很多兄弟都知道如何使用工具下载,最快的应该就是11楼的了,开个浏览器就可以知道地址了;不过楼主的研究精神和动手能力是他们没看到的。   回复  引用    

#18楼  2008-05-25 09:30 那啥 [未注册用户]

FF CacheViewer

楼主有心了.
呵呵   回复  引用    

#19楼  2008-05-25 09:38 Zhuang miao      

这方法太过时了~
  回复  引用  查看    

#20楼  2008-05-25 09:55 LeadNT [未注册用户]

@刘亮
好象一些资讯网站也用到了http_refer...   回复  引用    

#21楼  2008-05-25 10:18 位分为二分 [未注册用户]

要是我flash的player只获取二进制数据,你还有办法? 而进制数据还经过复杂的处理,你还有办法?   回复  引用    

#22楼 [楼主] 2008-05-25 11:08 lbq1221119      

@代码乱了
这个和那个yobo的原理不一样,是一个jsp文件根据参数读取数据库动态的生成一个xml文件,然后读取这个文件里面的链接和地址..我没开发过IE的插件....   回复  引用  查看    

#23楼 [楼主] 2008-05-25 11:09 lbq1221119      

@位分为二分
那我只有分析包了...   回复  引用  查看    

#24楼 [楼主] 2008-05-25 11:10 lbq1221119      

@那啥
@随风飘扬
多谢推荐的工具 :)   回复  引用  查看    

#25楼  2008-05-25 11:51 冬虫草      

很智慧   回复  引用  查看    

#26楼  2008-05-25 12:41 没剑      

偶的做法是:打开IE,打开地址:http://www.neocha.com/naivete/music!1657.html
然后去上个厕所,回来后,打开文件夹Temporary Internet Files,
按"上次访问时间"排序,然后把:20071124214646754207.mp3复制出来
OK,搞定~
  回复  引用  查看    

#27楼 [楼主] 2008-05-25 12:45 lbq1221119      

@没剑
我倒了...   回复  引用  查看    

#28楼  2008-05-25 13:05 bluesky4485      

27楼的方法最简单。嘿嘿。   回复  引用  查看    

#29楼  2008-05-25 13:07 没剑      

@lbq1221119
哈哈,偶哪种方法可以做到,要哪首就下哪首,哈哈~~~
整站下载的话就要一首一首的听,然后就是..........

  回复  引用  查看    

#30楼  2008-05-25 13:12 lkocok [未注册用户]

费那么多事干嘛,直接到C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\20071124214646754207[1].mp3去找不就得了。   回复  引用    

#31楼  2008-05-25 13:18 bluesky4485      

我刚把那首歌的网址发给同事,2分钟,百度一下就下完了。不是那么难找吧?   回复  引用  查看    

#32楼 [楼主] 2008-05-25 13:50 lbq1221119      

@bluesky4485
..我本来是想演示如何通过这个flash找到mp3的地址..
没想到楼上们是 八仙过海,各显神通...   回复  引用  查看    

#33楼  2008-05-25 14:55 airwolf2026      

都是牛人哇,,,周末过来逛逛膜拜下....


浏览器文件夹缓冲?好像不是每次都行吧?   回复  引用  查看    

#34楼  2008-05-25 15:38 武海涛      

不错,顶robin   回复  引用  查看    

#35楼  2008-05-25 16:14 lbq [未注册用户]

@武海涛
哇,你也来了啊,怎么 挪窝了?   回复  引用    

#36楼  2008-05-25 20:01 皇帝的新装      

好   回复  引用  查看    

#37楼  2008-05-25 20:19 bluesky4485      

不过还是要赞扬一下楼主的精神。叫钻研精神不算错吧。
赞!   回复  引用  查看    

#38楼  2008-05-25 21:22 位分为二分 [未注册用户]

@lbq1221119

分析包只能最后一步,效率实在是比较低。那种在线视频网站多半是如此的。   回复  引用    

#39楼  2008-05-25 22:38 老刘.      

与没剑同解~~~
楼主加油~~   回复  引用  查看    

#40楼  2008-05-26 08:36 Hafeyang      

@随风飘扬
IE Developer Toolbar v2?
有新的版本了? 值得期待啊。   回复  引用  查看    

#41楼  2008-05-26 09:14 狼Robot      

进来学习学习.楼主似乎是醉翁之意不在酒.

感谢大家推荐那么多工具,不过我一般也是找IE临时文件夹,除非要批量下,才会去分析数据.   回复  引用  查看    

#42楼  2008-05-26 10:53 duxer      

楼主,如果有些SWF使用了AC9(好像是这个名字,对FLASH我也不清楚)加密的话,目前好像还没有办法反编译SWF文件.   回复  引用  查看    

#43楼  2008-05-26 13:32 Klesh Wong      


  回复  引用  查看    

#44楼 [楼主] 2008-05-26 14:00 lbq1221119      

@Klesh Wong
这是啥工具啊?   回复  引用  查看    

#45楼  2008-05-26 14:08 Justin      

过程很重要!庖丁解牛呀!
另外还有好歌听,哈哈
  回复  引用  查看    

#46楼 [楼主] 2008-05-26 14:57 lbq1221119      

@Justin
:) 顶好歌 呵呵   回复  引用  查看    

#47楼  2008-05-26 16:08 ppg [未注册用户]

好东西,谢谢啊。。   回复  引用    

#48楼  2008-05-26 16:48 没剑      

--引用--------------------------------------------------
lbq1221119: @Klesh Wong
这是啥工具啊?
--------------------------------------------------------
firebug   回复  引用  查看    

#49楼  2008-05-26 17:24 121 [未注册用户]

太笨了 ,还分析这么半天   回复  引用    

#50楼 [楼主] 2008-05-26 18:11 lbq1221119      

@没剑
好东西..下一个先   回复  引用  查看    

#51楼  2008-05-26 21:34 爱学习的小孩 [未注册用户]

在一个偶然的机遇下` 发现了这里
认识了,这么多爱电脑的朋友 ``好高兴啊

希望在以后日子里
能在一切学习`

希望你们能指导

希望:大家永远是一家人
小姜   回复  引用    

#52楼  2008-07-30 20:38 阿布赤玛      

HttpWatch对Yahoo Music 好像没有什么反应,要不去试一下,动态发包下一次地址未知!先发过来一个下次下载包的地址,连数据包和再一次下在包地址一同发过来,Dynamic,我没有抓住过!
  回复  引用  查看    

#53楼  2008-09-05 15:39 daniu [未注册用户]

@刘亮
uudog确实很强,牛人啊。。。。。   回复  引用    


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-05-29 13:55 编辑过


相关链接:
 

导航