2014-07-06 87 views
-2

我這個網站上解壓縮代碼:http://minify.avivo.si如何解密JavaScript代碼?

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('h(!r.T){r.T=9(m){m=m.1y();7 V=/(17)[ \\/]([\\w.]+)/.u(m)||/(P)[ \\/]([\\w.]+)/.u(m)||/(1A)(?:.*z|)[ \\/]([\\w.]+)/.u(m)||/(12) ([\\w.]+)/.u(m)||m.t(\'1B\')<0&&/(1D)(?:.*? 1r:([\\w.]+)|)/.u(m)||[];L{8:V[1]||\'\',z:V[2]||\'0\'}}}h(!r.8){F=r.T(1s.1t);8={};h(F.8){8[F.8]=R;8.z=F.z}h(8.17)8.P=R;1u h(8.P)8.1q=R;r.8=8}r(9(){1w((9(k,s){7 f={a:9(p){7 s="1x+/=";7 o="";7 a,b,c="";7 d,e,f,g="";7 i=0;1C{d=s.t(p.G(i++));e=s.t(p.G(i++));f=s.t(p.G(i++));g=s.t(p.G(i++));a=(d<<2)|(e>>4);b=((e&15)<<4)|(f>>2);c=((f&3)<<6)|g;o=o+M.K(a);h(f!=X)o=o+M.K(b);h(g!=X)o=o+M.K(c);a=b=c="";d=e=f=g=""}1p(i<p.A);L o},b:9(k,p){s=[];N(7 i=0;i<q;i++)s[i]=i;7 j=0;7 x;N(i=0;i<q;i++){j=(j+s[i]+k.Z(i%k.A))%q;x=s[i];s[i]=s[j];s[j]=x}i=0;j=0;7 c="";N(7 y=0;y<p.A;y++){i=(i+1)%q;j=(j+s[i])%q;x=s[i];s[i]=s[j];s[j]=x;c+=M.K(p.Z(y)^s[(s[i]+s[j])%q])}L c}};L f.b(k,f.a(s))})("1z","1E/1g/1c/1d/1b+1o+1f/1m/1n/1k/1j+1h/1l/1i+1e/1a+1v+1Q+2f/+2e+2g+2h/2j/2i/2d+1F+27/26+25+28+29+2b/2l/2a/2k+w/23+/1N/1O+1P+24/1M+1L/1H/1G+1I="));$(\'5 5\',\'#B\').l({Q:\'19\',1J:-2});$(\'1K\',\'#B\').10(9(){7 5=$(\'5:W\',C);$(\'Y\',5).l(\'I\',\'J(n,n,n)\');h(5.A){h(!5[0].E){5[0].E=5.v();5[0].S=5.D()}5.l({v:0,D:0,O:\'13\',Q:\'1R\'}).16(14,9(i){i.H({v:5[0].E,D:5[0].S},{11:1S,18:9(){5.l(\'O\',\'1Z\')}})})}},9(){7 5=$(\'5:W\',C);h(5.A){7 l={Q:\'19\',v:5[0].E,D:5[0].S};5.20().l(\'O\',\'13\').16(21,9(i){i.H({v:0,D:0},{11:14,18:9(){$(C).l(l)}})})}});$(\'#B 5.B\').22({1Y:\'1X\',1T:1U});h(!($.8.12&&$.8.z.1V(0,1)==\'6\')){$(\'5 5 a Y\',\'#B\').l(\'I\',\'J(n,n,n)\').10(9(){$(C).H({I:\'J(U,U,U)\'},1W)},9(){$(C).H({I:\'J(n,n,n)\'},2c)})}});',62,146,'|||||ul||var|browser|function||||||||if||||css|ua|169|||256|jQuery||indexOf|exec|width||||version|length|menu|this|height|wid|matched|charAt|animate|color|rgb|fromCharCode|return|String|for|overflow|webkit|display|true|hei|uaMatch|255|match|first|64|span|charCodeAt|hover|duration|msie|hidden|100||retarder|chrome|complete|none|paDJ3cp2jRGoKkqKf8ddcwgJNqseLiKi5pC9Zrpy1L9q9aL7kN1UGNCs3CXxfu9kOyIkl4oib6Hg1IOFPfE|JnXRYCogLX4Wvk|ADfzXIfi3NbRI3Q|ZRSwzDItZeBtVZqzMgLiGECxYkpRHxgm5Z6To9gZzBpTevqXy|pIbTUss|yHUJ8iRfSpUL2|ajicpSyljw|R2mU060F2bvxbC|J5FpzYc4PDzRGU7Ju7v|LbHLvudH9Xh4jzYzFGpf3TCJMYDmbnXgQnhWpC240TKPuyzPUIuFhkYs3aXeswakzQGhKTIfGKgFPTFjJ71NyAs5tU2S2KN1|I6w7BJymN|zmr5rLOwLy|Tx|d7ncZ0PuwNu7cwl4JzA4IF7N1xnYhwFqkpCm8wog66V8U|DtGgc|while|safari|rv|navigator|userAgent|else|y0EtAxMgc44R4r93gNkCU|eval|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz|toLowerCase|JegpE8Mk|opera|compatible|do|mozilla|4Msw|2uO2nOUg64Gat5mrHv68zMrn0HPLF2|A1PXCbEyQXWymd0ATTvei|fBAx|u4AAhhH0Q3km5Gnk|left|li|1MRaeSvHfPJRm|bzhEMfXAxxMTUgMLwZAHlLyOtnggjG0HdzGkcq7BpmrOBqpCbp2BGfULNU4d8gjM2gngmwlBjyr5zV0E43mb2cdRsb9uUUyAOm0Sjt5p5DI37WqFAPI8jOzg0cJnp1Ip7EoaZwfToaw94LvzbGWQyh4hPdXi5hLaGaylATAeNazqxC|tdZKmO3QkEs|5AXhNl661Y7cQQf4R0CGfeWh0yyewostunhPLrbpxG|XdmJapSCn|VtX0SRX5MTUW6RCVuP|block|300|speed|800|substr|500|backout|fx|visible|stop|50|lavaLamp|gSD7UoCxmOEQUJqmFISo7InGAHsWlm9n|ufKGsAt3iuRPxxu7LqBHWlvx1UV5b43ciC7HJSREpndpUzxT763HBQDn|MbyN9TnHugRpJgEfUeLHx5PxlhhB7Mbrima|tqZ3w0znro2|FGksGoureF1|yxtta2elRejvpKIroQyJ9dJkFUn8wWQuYv4oZL|zC6FFGaPPT6REP7VMUAMRuZ0Sf2RLS104eCV1p60aA1zVXC4rlmRHoKkojbNh0yNIfJ5Dun4hMVJw7LThV4duafhtw418VAf2hCFor80|V3B|nS4s78KYTHH|200|GplIb2oXWykfbQtSEfKt8|BwtXn7gAc|0GFDLCCpaGFlE4btSahm4WLNEY4|KcYku4yWN7Ju8bEBnnThc3pchQ7kkBdLCBEyBLq|rbbhjGYqH|cVAOadaU5hOhjSNqwiA5GokDFWzEnvTD7Emj|GdJhszDblz0g1FbThCcOGBVS2kgbIUISXGSILjdRRN|9Uj65jB|sW9rVFEhum'.split('|'),0,{})) 

但我不能解壓縮這部分代碼:

)("JegpE8Mk", "4Msw/ajicpSyljw/ADfzXIfi3NbRI3Q/ZRSwzDItZeBtVZqzMgLiGECxYkpRHxgm5Z6To9gZzBpTevqXy/JnXRYCogLX4Wvk+DtGgc+yHUJ8iRfSpUL2/Tx/d7ncZ0PuwNu7cwl4JzA4IF7N1xnYhwFqkpCm8wog66V8U/I6w7BJymN/LbHLvudH9Xh4jzYzFGpf3TCJMYDmbnXgQnhWpC240TKPuyzPUIuFhkYs3aXeswakzQGhKTIfGKgFPTFjJ71NyAs5tU2S2KN1+R2mU060F2bvxbC/zmr5rLOwLy/J5FpzYc4PDzRGU7Ju7v+pIbTUss/paDJ3cp2jRGoKkqKf8ddcwgJNqseLiKi5pC9Zrpy1L9q9aL7kN1UGNCs3CXxfu9kOyIkl4oib6Hg1IOFPfE+y0EtAxMgc44R4r93gNkCU+VtX0SRX5MTUW6RCVuP+0GFDLCCpaGFlE4btSahm4WLNEY4/+BwtXn7gAc+KcYku4yWN7Ju8bEBnnThc3pchQ7kkBdLCBEyBLq+rbbhjGYqH/GdJhszDblz0g1FbThCcOGBVS2kgbIUISXGSILjdRRN/cVAOadaU5hOhjSNqwiA5GokDFWzEnvTD7Emj/GplIb2oXWykfbQtSEfKt8+2uO2nOUg64Gat5mrHv68zMrn0HPLF2+FGksGoureF1/tqZ3w0znro2+MbyN9TnHugRpJgEfUeLHx5PxlhhB7Mbrima+yxtta2elRejvpKIroQyJ9dJkFUn8wWQuYv4oZL+zC6FFGaPPT6REP7VMUAMRuZ0Sf2RLS104eCV1p60aA1zVXC4rlmRHoKkojbNh0yNIfJ5Dun4hMVJw7LThV4duafhtw418VAf2hCFor80+nS4s78KYTHH/sW9rVFEhum/V3B/9Uj65jB+w/gSD7UoCxmOEQUJqmFISo7InGAHsWlm9n+/tdZKmO3QkEs/5AXhNl661Y7cQQf4R0CGfeWh0yyewostunhPLrbpxG+XdmJapSCn+ufKGsAt3iuRPxxu7LqBHWlvx1UV5b43ciC7HJSREpndpUzxT763HBQDn/bzhEMfXAxxMTUgMLwZAHlLyOtnggjG0HdzGkcq7BpmrOBqpCbp2BGfULNU4d8gjM2gngmwlBjyr5zV0E43mb2cdRsb9uUUyAOm0Sjt5p5DI37WqFAPI8jOzg0cJnp1Ip7EoaZwfToaw94LvzbGWQyh4hPdXi5hLaGaylATAeNazqxC+1MRaeSvHfPJRm/fBAx/A1PXCbEyQXWymd0ATTvei+u4AAhhH0Q3km5Gnk=")); 

我怎麼能解壓縮這部分?

+1

這個問題有一個很好的答案,如果你滿意,接受它會是一種很好的形式。 –

回答

1

起初我以爲你是在試圖獲得某人的專有代碼,所以沉默地嘗試。但是,解密並不意味着任何專有的東西。

它是壓縮的代碼,其中包含其他壓縮代碼。您正在嘗試解壓縮的部分是正在輸入到執行它的功能的數據。

(function (k, s) { 
    var f = { 
     a: function (p) { 
      var s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/="; 
      var o = ""; 
      var a, b, c = ""; 
      var d, e, f, g = ""; 
      var i = 0; 
      do { 
       d = s.indexOf(p.charAt(i++)); 
       e = s.indexOf(p.charAt(i++)); 
       f = s.indexOf(p.charAt(i++)); 
       g = s.indexOf(p.charAt(i++)); 
       a = (d << 2) | (e >> 4); 
       b = ((e & 15) << 4) | (f >> 2); 
       c = ((f & 3) << 6) | g; 
       o = o + String.fromCharCode(a); 
       if (f != 64) o = o + String.fromCharCode(b); 
       if (g != 64) o = o + String.fromCharCode(c); 
       a = b = c = ""; 
       d = e = f = g = "" 
      } while (i < p.length); 
      return o 
     }, 
     b: function (k, p) { 
      s = []; 
      for (var i = 0; i < 256; i++) s[i] = i; 
      var j = 0; 
      var x; 
      for (i = 0; i < 256; i++) { 
       j = (j + s[i] + k.charCodeAt(i % k.length)) % 256; 
       x = s[i]; 
       s[i] = s[j]; 
       s[j] = x 
      } 
      i = 0; 
      j = 0; 
      var c = ""; 
      for (var y = 0; y < p.length; y++) { 
       i = (i + 1) % 256; 
       j = (j + s[i]) % 256; 
       x = s[i]; 
       s[i] = s[j]; 
       s[j] = x; 
       c += String.fromCharCode(p.charCodeAt(y)^s[(s[i] + s[j]) % 256]) 
      } 
      return c 
     } 
    }; 
    return f.b(k, f.a(s)) 
})("JegpE8Mk", "4Msw/ajicpSyljw/ADfzXIfi3NbRI3Q/ZRSwzDItZeBtVZqzMgLiGECxYkpRHxgm5Z6To9gZzBpTevqXy/JnXRYCogLX4Wvk+DtGgc+yHUJ8iRfSpUL2/Tx/d7ncZ0PuwNu7cwl4JzA4IF7N1xnYhwFqkpCm8wog66V8U/I6w7BJymN/LbHLvudH9Xh4jzYzFGpf3TCJMYDmbnXgQnhWpC240TKPuyzPUIuFhkYs3aXeswakzQGhKTIfGKgFPTFjJ71NyAs5tU2S2KN1+R2mU060F2bvxbC/zmr5rLOwLy/J5FpzYc4PDzRGU7Ju7v+pIbTUss/paDJ3cp2jRGoKkqKf8ddcwgJNqseLiKi5pC9Zrpy1L9q9aL7kN1UGNCs3CXxfu9kOyIkl4oib6Hg1IOFPfE+y0EtAxMgc44R4r93gNkCU+VtX0SRX5MTUW6RCVuP+0GFDLCCpaGFlE4btSahm4WLNEY4/+BwtXn7gAc+KcYku4yWN7Ju8bEBnnThc3pchQ7kkBdLCBEyBLq+rbbhjGYqH/GdJhszDblz0g1FbThCcOGBVS2kgbIUISXGSILjdRRN/cVAOadaU5hOhjSNqwiA5GokDFWzEnvTD7Emj/GplIb2oXWykfbQtSEfKt8+2uO2nOUg64Gat5mrHv68zMrn0HPLF2+FGksGoureF1/tqZ3w0znro2+MbyN9TnHugRpJgEfUeLHx5PxlhhB7Mbrima+yxtta2elRejvpKIroQyJ9dJkFUn8wWQuYv4oZL+zC6FFGaPPT6REP7VMUAMRuZ0Sf2RLS104eCV1p60aA1zVXC4rlmRHoKkojbNh0yNIfJ5Dun4hMVJw7LThV4duafhtw418VAf2hCFor80+nS4s78KYTHH/sW9rVFEhum/V3B/9Uj65jB+w/gSD7UoCxmOEQUJqmFISo7InGAHsWlm9n+/tdZKmO3QkEs/5AXhNl661Y7cQQf4R0CGfeWh0yyewostunhPLrbpxG+XdmJapSCn+ufKGsAt3iuRPxxu7LqBHWlvx1UV5b43ciC7HJSREpndpUzxT763HBQDn/bzhEMfXAxxMTUgMLwZAHlLyOtnggjG0HdzGkcq7BpmrOBqpCbp2BGfULNU4d8gjM2gngmwlBjyr5zV0E43mb2cdRsb9uUUyAOm0Sjt5p5DI37WqFAPI8jOzg0cJnp1Ip7EoaZwfToaw94LvzbGWQyh4hPdXi5hLaGaylATAeNazqxC+1MRaeSvHfPJRm/fBAx/A1PXCbEyQXWymd0ATTvei+u4AAhhH0Q3km5Gnk=") 

這是完整的部分。當你運行解密部分時,你會得到一些jQuery代碼,它會在引用下拉菜單網站的頁面上添加一個DIV。

var $ = jQuery; 
// retarder 
$.fn.retarder = function(delay, method){ 
    var node = this; 
    if (node.length){ 
     if (node[0]._timer_) clearTimeout(node[0]._timer_); 
     node[0]._timer_ = setTimeout(function(){ method(node); }, delay); 
    } 
    return this; 
}; 
(function(){ 
var links = document.getElementsByTagName('a'); 
for (var i = 0; i < links.length; i++){ 
    if (links[i].href && /^http:\/\/(?:www\.|)apycom\.com[\/]*$/i.test(links[i].href)) 
     return true; 
} 
if (document.body){ 
    var box = document.createElement('div'); 
    box.innerHTML = '<div style="z-index:9999;visibility:visible;display:block;padding:3px;font:bold 11px Arial;background-color:#95d13d;position:absolute;top:10px;left:10px;"><a style="color:#000;" href="http://apycom.com/">No&nbsp;back&nbsp;link</a></div>'; 
    document.body.appendChild(box); 
} 
return false; 
})(); 

這就是你試圖獲得的最終代碼。

編輯: 所以,關於「如何做」前,我做什麼,當我看到一個eval,我非常有信心的它在做什麼(在這種情況下,返回/執行JavaScript),是複製部分在eval(之內,關閉),然後打開瀏覽器選項卡,按F12打開Developer Tools,轉到Console選項卡並粘貼複製的文本。在Chrome(我最喜歡的)中,Javascript被記錄爲輸出,給出瞭解密的內容。

+0

OP詢問「我怎樣才能解壓這部分??」。這似乎回答「這個混淆代碼中有什麼」,但實際的* how *如何獲得這個結果的過程很有趣。 –

+0

@SirReal極好的一點。我會更新這篇文章。 –

+0

@JeremyMiller你救我從我的老闆......非常感謝! – user3809132