现在的位置: 首页 > 综合 > 正文

xiami flash播放器对歌曲链接的解密算法

2014年05月05日 ⁄ 综合 ⁄ 共 3050字 ⁄ 字号 评论关闭

1. 本文是学习只用,不要将之用在非法用途

2. 先下载xiami的flash播放器, 通过Sothink SWFDecompiler 将之反编译;

3. 然后找出它的解密函数,关键代码如下:

 

4. 使用python实现后的算法是:

 

5. 一个简单的例子是:

输入: 7h%3.65531E88pt2.n2EE%%1563tFxe5%%22719p%it%25F5613%2a%5FE%29_33Fm2E455%71.AfiF%%4E545m

输出: http://f3.xiami.net/62500/400543/01%201769748511_1586933.mp3

 

6. 通过上面的方法,就可以写出一个自动下载虾米歌曲的软件, 具体的思路如下:

6.1 通过http请求得到某个专辑的页面,可以得到所有歌曲的一览和songId;

6.2 通过songId可以构造http请求得到对应歌曲的信息(xml格式)

6.3 然后通过上面的程序将xml 中location项解密,即可以得到歌曲下载地址。

 

-----

to xiami:

注意自己的安全。

 

因为已经有人写了这样的程序,就不再重写了。

http://www.appinn.com/longkey-xiami-music-dl/

 

to 自己

1. actionscript 中的子字符串处理函数有两个: substring 和substr,注意区分;

2. 异常处理:

try:
    tmp2 = tmp2[var5];
except IndexError:
    tmp2 = "";

 

---
get mustc info:

http://www.xiami.com/song/playlist/id/1770506132/object_name/default/object_id/0

python debug:

http://www.blogjava.net/Skynet/archive/2009/04/07/264259.html

my csdn blog xiami decrypt

http://blog.csdn.net/lantianjialiang/article/details/6339326

【上篇】
【下篇】

抱歉!评论已关闭.