宝刀不老: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  阅读(6733)  评论(57编辑  收藏  举报

导航