虾米音乐文件绝对地址解析

Xiami.com的文件地址居然也加密了,现在写AmbiencePlayer不得不去解密,于是在这里分享一下Xiami音乐的地址加密算法。

首先用Chrome捕获请求,发现对于音乐:
http://www.xiami.com/song/1769402049
这样的会自动请求:
http://www.xiami.com/widget/xml-single/sid/1769402049
这个地址获取详情。

得到的还是一个XML文件(太常见了):

<?xml version="1.0" encoding="utf-8"?>
<trackList>
 <track>
  <width>257</width>
  <height>33</height>
  <song_name><![CDATA[14.ガラスのくつ]]></song_name>
  <song_id>1769402050</song_id>
  <user_id></user_id>
  <album_id>371119</album_id>
  <album_cover><![CDATA[http://img.xiami.com/./images/album/img59/23259/3711191268102416_3.jpg]]></album_cover>
  <album_name><![CDATA[Nitroplus Best Songs Collection]]></album_name>
  <artist_id>23259</artist_id>
  <artist_name><![CDATA[いとうかなこ]]></artist_name>
  <location><![CDATA[8h2xt912653.tFi%%959E5mt%a22%2457pp2mFF2%%%%3%Fi23F55553f.371EEEEA1n21412_1%.e51%7%18]]></location>
  <widgetCode><![CDATA[<embed src="http://www.xiami.com/widget/_1769402050/singlePlayer.swf" type="application/x-shockwave-flash" width="257" height="33" wmode="transparent"></embed>]]></widgetCode>
 </track>
</trackList>

找到了~~~
下面就该进行解析了…初看好恶心的地址,于是反编译了一下Flash代码,然后看懂了:

8h2xt912653.tFi%%959E5mt%a22%2457pp2mFF2%%%%3%Fi23F55553f.371EEEEA1n21412_1%.e51%7%18

其实就是

8 //类似凯撒方阵的列数(以下列8字符)
h2xt912653.
tFi%%959E5m
t%a22%2457p
p2mFF2%%%%3
%Fi23F55553
3f.371EEEE
A1n21412_1
%.e51%7%18

//注意上面每列都是8个字符

把上面的东西竖起来读就是地址近似物了:

http%3A%2F%2Ff1.xiami.net%2F23259%2F371119%2F14%252%5E17694%5E2%5E5%5E_1357%5E18.mp33

然后把这个urldecode一下:

http://f1.xiami.net/23259/371119/14%2^17694^2^5^_1357^18.mp33

还没结束,把所有的 ^ 替换为 0,把最后一个字符删掉:

http://f1.xiami.net/23259/371119/14%201769402050_1357018.mp3

呼!解析成功!庆祝一下,吃根冰棍去。

18 thoughts on “虾米音乐文件绝对地址解析

  1. Pingback: Aeron's Blog » 不用虾币下载虾米的歌的笨方法

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

* Copy this password:

* Type or paste password here:

1,367 Spam Comments Blocked so far by Spam Free Wordpress

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>