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