如何解密javascript代码

how can Decrypt the javascript code?

本文关键字:javascript 代码 解密 何解密      更新时间:2023-09-26

我在这个网站上解压缩了一个代码:http://minify.avivo.si

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|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|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="));

如何解压这部分??

一开始我以为你在试图获取别人的专有代码,所以我不愿尝试。然而,破译并没有暗示我有任何专有的东西。

它是包含其他压缩代码的压缩代码。您试图解压缩的部分是正在输入到函数以执行该函数的数据。

(function (k, s) {
    var f = {
        a: function (p) {
            var s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
            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打开开发人员工具,转到控制台选项卡,并粘贴复制的文本。在Chrome(我最喜欢的)中,Javascript被记录为输出,给出了解码的内容。