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

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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值