今天在温州网通音乐频道( music.wzcnc.com )上找 WMA ,发现只能在线试听,下载地址已被加密。
经研究发现,它是将加密过的地址串用JS在客户端解密保存在一个变量中,然后将这个变量的值赋给播放器控件的 src 属性。
这样,我们可以绕过它层层加密措施,直接获取 wma 的 HTTP 地址。方法非常简单,在试听页的浏览器地址栏(如果地址栏被隐藏请按 F11 将窗口全屏以显示出地址栏)输入:
javascript:document.write(str)
通用破解方法:
javascript:document.write(<wmp_object_id>.FileName)
//此处为 javascript:document.write(Player2.FileName)
即可显示 wma 文件的真实路径,剩下的就不用我说了吧,呵呵 ^_^
事实上,我们可以进一步让下载自动化。首先,设置要 flashget(或其他下载工具) 自动监视剪贴板,并在监视文件类型中加入 .WMA,用这条 javascript 脚本将地址复制到剪贴板。
javascript:clipboardData.setData("Text",str)
flashget 随即会开始下载这个文件。
这个方法不保证能在其他站点使用。事实上,如果你熟悉脚本的话,还可以获取其他在线视频的实际地址,能否下载还取决于该 URL 是否使用 HTTP 协议。