1、分析

其实在线音乐、视频利用浏览器缓存基本都能实现,如下查看IE缓存路径:
1.png
呃,好吧这个缓存找不到,抓下包试试:

2.png
嗯,看到了mp4类型,就是你了,查看源码,找到音乐链接,如下:

3.png
现在只要简单正则匹配下类型就能获取链接下载歌曲了。

2、实现

通过分析获取这个歌曲真实链接很容易,python 五行代码实现:

1
2
3
4
5
import requests,re
url = raw_input("input share link:\n") #url = "https://kg.qq.com/node/play?s=Le-febL9Yb99****"
str = requests.get(url, verify=False, timeout=5).text
url2 = re.findall('"playurl":"(.*?)&fromtag=', str)
print url2[0]

但是总感觉好像哪里不对。好吧,想到妹子用python,这画面…
还是顺手练练VBS吧,最近好像经常和VBS打交道的样子。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<html>
<head>
<hta:application sysmenu=no scroll=no border=none>
<script language="vbscript">
'隐藏mshta窗口,参考我之前CVE-2017-0199那篇文章中hta的写法
sub sub1
me.close
end sub
me.resizeto 0,0
me.moveto 0,0
window.settimeout "sub1",1
url_1=Inputbox("input share link:")
Msgbox("share link:" & vbCrLf & url_1)
'VBS HTTP GET
Dim http
Set http = CreateObject("Msxml2.ServerXMLHTTP")
http.open "GET",url_1, False
http.send
response_t = http.responsetext
'msgbox response_t
'正则匹配,这里仅获取第一个匹配的链接
Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(strng)
RegExpTest = Matches(0)
End Function
patrn = "http://dl.stream.kg.qq.com.*.m4a"
url_2 = RegExpTest(patrn,response_t)
msgbox("got real link :" & vbCrLf & url_2)
'IE打开链接并下载
set IE = CreateObject("InternetExplorer.Application")
IE.Visible = true
IE.Navigate url_2
</script>
</html>

保存成hta文件,双击打开简单方便:
4.jpg

获取到真实链接自动打开IE进行下载:
5.jpg