`
Suninny
  • 浏览: 37725 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

小小破解一下百度MP3的加密URL链接

阅读更多

百度Mp3的Url老是改来改去,去年用Ruby/Hpricot写的一个抓取歌名及链接的小脚本自然是无法运行了。

 

看了一下Page Source,XPath倒没怎么变动,URL却换成了Javascript变换加密。

 

<html>
............
<table class="t" width="100%" border="0" cellspacing="0" cellpadding="0">

  <tr>

    <td><a class="l" title="根据用户指令,百度的搜索引擎系统会以非人工方式自动生成到第三方网页的链接。“百度”自身不存储、控制、编辑或修改被链接的第三方网页的信息。百度高度重视知识产权保护,并制定了旨在保护权利人的合法权益的措施和步骤,当权利人发现在百度生成的链接所指向的第三方网页内容侵犯其著作权时,请权利人向百度发出“权利通知”,百度将依法采取措施断开相关链接。">百度提示,请您阅读</a></td>

    <td align="right"><a href="http://www.baidu.com/search/appcopyright.html" target="_blank" class="l">权利声明</a></td>

  </tr>

</table>

<div style="text-align:center"><div id="adv"></div></div>

</div>

</BODY>
<script>
function G(A){return document.getElementById(A)}function sa(){var C=G("adv");if(C.innerHTML){var B=520,A=530;var E=(screen.width-B)/2,D=(screen.height-A)/2;moveTo(E,D);resizeTo(B,A)}}var song_1220027223;function sd(B){var A=new Image();A.src="/wd/sg-url.jpg?url="+song_1220027223+"&pos="+B+"&r="+Math.random()}function disUrl(){var F=1220027223,L=0;var I="6IIE://00H.MJzCB7GH.C3I/tEe7A3/tEZIIz16B3CI/RPPX-X/RPPXXQYRRQYQU.BES",J="6IIE://00H.MJzCB7GH.C3I/tEe7A3/tEZIIz16B3CI/RPPX-X/RPPXXQYRRQYQU.BES";var O="",E="";var K=[],H=[];var B=G("urln"),C=G("urla");function N(S,P,Q){for(var R=S;R<=P;R++){K[R]=R+Q;H[R+Q]=R}}N(0,9,48);N(10,35,55);N(36,61,61);var M=F%26;M=M?M:1;function A(Q){var P=Q.length;var S="";for(var R=0;R<P;R++){var T=Q.charAt(R);if(/[A-Za-z0-9]/.test(T)){var U=H[Q.charCodeAt(R)]-M;if(U<0){U+=62}T=String.fromCharCode(K[U])}S+=T}return S}O=A(I);E=(I==J)?O:A(J);B.href=C.href=song_1220027223=O;C.innerHTML=E;if(!L||F-L<3600){var D=new Image();D.src="/wd/mp3-sg-decode.jpg?url="+O+"&r="+Math.random()}}disUrl();
</script>

</HTML>
 

仔细瞧瞧还是可以发现了某些对应关系。

 

心想何不反其道而行之,来个逆向变换呢?正好可以练练手。xixi

 

def _mktab(x)
  t0 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
  p = t0.partition(x)
  p[1] + p[2] + p[0]
end

def decode(s)
  s.tr(_mktab(s[0].chr), s=~ /....:\// ? _mktab('h') : _mktab('f')) #http|ftp
end

puts decode(ARGV[0] || "v773://AAA.xz6w1o.q20//tzo6v/px_GEEM_G.03H") if __FILE__ == $0

 But,...百度的页面好像是打不开了,晕...

 

 

8
1
分享到:
评论
4 楼 pxysea 2013-03-18  
现在url 加密有没有破解方法
3 楼 Suninny 2010-09-15  
dazuiba 写道
在我的程序包中使用了您的代码,  程序包地址:

http://github.com/dazuiba/autoweb

在这里说声感谢!


随便用!
2 楼 dazuiba 2010-08-07  
在我的程序包中使用了您的代码,  程序包地址:

http://github.com/dazuiba/autoweb

在这里说声感谢!
1 楼 tlze 2009-09-14  
百度好像又改算法了。

相关推荐

Global site tag (gtag.js) - Google Analytics