XX新浪的音乐播放器

碰到郁闷的事情,在别人sina blog上听到感觉很nice的歌,但是新浪貌似允许blog用户任意修改歌曲显示名字,结果不知道歌名,决定,小逆下那个swf,印象中sina的播放器最终是调用一个xml作为源来获得歌曲list的。

简单的反出sina_music.swf,主要是其中的as代码。

调用的时候是类似以下的形式:sina_music.swf?uid=×××××××

直接去as里面找_root.uid

找到以下地方:

interfaceData.userid = !_root.uid ? (null) : (_root.uid);

_root.uid的值最后被传递到interfaceData.userid中。

再找下interfaceData.userid最终在哪里被调用的。见以下语句:

this.getUserInfoList(interfaceData.userid);

继续,在该函数内部找到以下调用:

this.loadList(interfaceData.info id);

查看LoadList方法知道是获取传入的url来生成list。问题就变成了interfaceData.info的来源:

var _blogAlbumList "http://music.sina.com.cn/shequ/port/blogmofun/getuser080225.php?id=";


interfaceData.info fToP.blogAlbumList;

OK,搞定,替换页面得到的uid后访问得到一个xml里面文件,心爱的url就在其中。

<item id="0">

<
INTRO></INTRO>

<
NAME>***

<
URL>

http://www.***********.com/stuff/musikk/slow/Maria%20Arredondo%20-%20Burning.mp3

</URL>

<
ID>BKbd031bd9</ID>

</
item>

« 上一篇 | 下一篇 »

4条记录访客评论

有必要这么复杂?直接查临时文件不行吗?

Post by 山寨货网 on 2008, September 19, 11:46 PM 引用此文发表评论 #1

To 楼上
临时文件要每次清除,比较麻烦,而且。要传给别人。
link的话直接丢给别人让他下就好了。so。

Post by ╰☆往事如风 on 2008, September 22, 10:21 PM 引用此文发表评论 #2

火狐 firebug 中 网络。。

Post by zzm on 2010, August 18, 6:18 PM 引用此文发表评论 #3

引用 zzm 说过的话:
火狐 firebug 中 网络。。

现在都是用抓包的方式了哈。抓包比较直接。IE下也可以直接httpwatch看

Post by ╰☆往事如风 on 2010, August 19, 11:19 AM 引用此文发表评论 #4


发表评论

评论内容 (必填):