天天看點

利用js加密保護核心功能代碼

前言

像很多大站,都有類似于站外連結跳轉提示這類功能,這類功能應用範圍廣,如果被不法分子找到代碼中可能被利用的漏洞,很容易利用xss攻擊等行為達到非法的目的,導緻衆多使用者資訊可能遭受風險,自身産品也蒙受損失。

是以一些核心功能的前端js建議進行加密處理。

特别是中小公司的公網産品,面向網際網路的,人人都可以通路到你的站,一定要做好安全措施。

原因

公司最新上架了個内部直播的項目,但是分公司分布在全國各地,是以項目丢在了公網上,友善全國的同僚們使用。在運作了一段時間後,遇到了部分接口被爬蟲侵擾,盜取我們直播流量資料。随後技術部門給後端代碼加上了接口加密校驗等。但是前端js的暴露依然導緻沒什麼效果,我在網上搜集了很久的資料找到了很多解決方案,最終選擇了一個我認為最好的一個。

部分代碼執行個體

源代碼

function https() {
    if (ssl_on == 1) {
        var $fs = require( 'fs');
        var $tls = require( 'tls');
        var crtArray = [];
        for (var i = 0; (i < shield_address.length); i++) {
            var name = shield_address[i][0];
            if (name.substr((name.length -  1), 1) == '/') {
                name = name.substr(0, (name.length - 1));
            }
            var keyfile = ('./ssl/' + shield_address[i][2]);
            var pemfile = ('./ssl/' + shield_address[i][3]);
            var keyfileExt = $fs.existsSync(keyfile);
            var pemfileExt = $fs.existsSync(pemfile);
            if ((keyfileExt == true) && (pemfileExt == true) && (keyfile.indexOf('.key') != -1) && (pemfile.indexOf('.pem') != -1)) {
                crtArray[name] = $tls.createSecureContext({
                    'key': $fs.readFileSync(('./ssl/' + shield_address[i][2]), 'utf8'),
                    'cert': $fs.readFileSync(('./ssl/' + shield_address[i][3]), 'utf8')
                });
            }
        }
        var CRT = {
            'SNICallback': function (name, callback) {
                if (crtArray[name]) {
                    if (callback) {
                        callback( null, crtArray[name]);
                    } else {
                        return crtArray[name];
                    }
                } else {
                    console.log(name, 'No keys or certificates inited for domain requested');
                    keyfile ='./ssl/' + name +'.key';
                    pemfile =  './ssl/'+ name + '.pem';
                    keyfileExt = $fs.existsSync(keyfile);
                    pemfileExt = $fs.existsSync(pemfile);
                    if ((keyfileExt == true) &&  (pemfileExt == true) && (keyfile.indexOf('.key') != -1) && (pemfile.indexOf('.pem') != -1)) {
                        crtArray[name] = $tls.createSecureContext({
                            'key': $fs.readFileSync(keyfile, 'utf8'),
                            'cert': $fs.readFileSync(pemfile, 'utf8')
                        });
                        if (callback) {
                            callback( null, crtArray[name]);
                        } else {
                            return;
                        }
                    } else {
                        crtArray[name] = $tls.createSecureContext({
                            'key': $fs.readFileSync('ssl/default.key', 'utf8'),
                            'cert': $fs.readFileSync('ssl/default.pem', 'utf8')
                        });
                        if (callback) {
                            callback( null, crtArray[name]);
                        } else {
                            return;
                        }
                    }
                }
            }
        };
        CRT.key = $fs.readFileSync(('./ssl/' + 'default.key'), 'utf8');
        CRT.cert = $fs.readFileSync(('./ssl/' +'default.pem'), 'utf8');
        CRT.rejectUnauthorized = false;
        require( 'https').createServer(CRT, function (req, rep) {

            var $host = req.headers.host;
            if ($host == undefined) {
                console.log('Host is null');
                return;
            }
            req.headers['x-forwarded-for'] = get_client_ip( req);
            var httpProxy = require( 'http-proxy');
            var server;
            if ((permit.enable == 1) && (permit.keep_alive == 1)) {
                server = httpProxy.createProxyServer({'agent': keepalive_agent});
            } else {
                server = httpProxy.createProxyServer({});
            }
            server.on('error', function (e, info, resp) {
                try {
                    resp.end();
                    return;
                } catch (e) {
                    if (debug == 1) {
                        console.log(e.message);
                    }
                }
            });
            for (var i = 0;(i < shield_address.length); i++) {
                var address = shield_address[i][0];
                if ((address.substr((address.length - 1), 1) == '/')) {
                    address = address.substr(0, (address.length - 1));
                }
                if (($host.indexOf(address)!= -1) || (address.indexOf($host)!= -1)) {
                    server.web(req, rep, {
                        'target': 'http://127.0.0.1:' + shield_port + '/' + address,
                        'selfHandleResponse': false,
                        'changeOrigin': false
                    });
                    global.gc;
                    return;
                }
            }
            for (var i = 0; (i < skip_to.length); i++) {
                if (debug == 1) {
                    console.log('[skip_to]:', skip_to[i].domain, skip_to[i].target);
                }
                if ((skip_to[i].domain.indexOf($host) != -1) || ($host.indexOf(skip_to[i].domain) != -1)) {
                    server.web(req, rep, {
                        'target': skip_to[i].target,
                        'selfHandleResponse': false,
                        'changeOrigin': false
                    });
                    return;
                }
            }
            server.web(req, rep, {
                'target': oem_url,
                'selfHandleResponse': false,
                'changeOrigin': true
            });
            if (debug == 1) {
                console.log('[Unknown Host]Https Redirected', $host);
            }
        }).listen(ssl_port).keepAliveTimeout = require( './permit').keep_alive_keepAliveTimeout;
        console.info('Https at port: ', ssl_port);
    }
}      

經過解密後

var _0xodu='jsjiami.com.v6',_0xodu_=['‮_0xodu'],_0x8dc6=[_0xodu,'w4/CqGIoTg==','I8OZwot0fw==','RcO0w5rCvSpywqh6LcOy','w6kKTyTCrw==','LsKDI8O8','VgFRLkw=','w4Ehw41dwq3CmMOo','w6nCizlWKw==','wp1nw5nDiGfCpW/DtcKJwqgmA8KAGinChmTDqMKs','w4nCqDdIK0vDmsOewrVFaMK2','woDDpz8mw53DhQ==','LSvCtcOVwqw=','wqABwojCi1nCn8KfUMOKw7I5w7s=','w7jCiRzCmng=','w7fCnsOw','JC3DqRpiXsKm','ScOwAcOYNQ==','w7xpUMO7w7k=','O8OMKhzDgA==','w5rCuXk=','Sm1awqBm','N8Oew7PDm38=','JMODw4DDrnk=','wrhjw47DnXI=','w7Ysw7PCtMOq','D8K5JcOVwodL','w5PClsKke3U=','LDDDsxp3SsKQPsOIwps=','w63CsiLDo0Vnw6A4wo0q','w60/w6tfwpE=','w78jf8KzQ8Oqw6s=','wp8uRCg=','w6HCpC/DtUlbw5U=','aMOPK8KCRw==','P8OcNB3DgQ==','w7IBaCDCtg==','dcOiw57CnC0=','w43Cuik0w4XCj8KlPCxZw6/CmMOdAsOgw6DCvMOXRw==','woxww53DjVXCqVDDtcK5wqQ6BQ==','w4jCnnMUTDbCpsO4dMOVwoXDlg==','a8KxAcOoHA==','w77CvcOBw4Ef','w4jDrwsLAQ==','Ji4fbX1BFsOuMmkeBWvCrcKLw7sg','w4DDrGQNw7g=','GhjDsiJE','w5TDm0cLw581AxNcM8KVwqzDkcKhIMKCwozDtC4=','w6BVecOpw7sSWMK/w7c2w4xg','BEIow7RfH2x2wrzDp8OBw6Z0w5tU','w4MgQDXCnsKXd8KWwpjCocKKw6Y=','woURHcKNFQ==','LR7DtT9h','w4YpQsKdUg==','wrPCvMK0XzA=','TcO5MQ==','EgjDvGxewrY=','w4UkUzbCvcKK','wqo8woPCqVQ=','UMO0PsOwwqI=','w67ChcOxwr0=','w5rCi8K4wrN2dcO4w67Co1HCjsOA','w4nDkBMiAQ==','TmpawpxC','UsOpw5nCqz11wq5tIsOkSMKAwrV7PMO+wrEQ','w58jUxfCtg==','w73CmEolTQ==','w5Mow6TCocO/RnHChMKYDFjDuw==','w74oesKyXsOXw74=','UsOmN8KM','w65ycxh6','GyvDh05j','IzIXQUA=','XMOnKcK1SA==','woxreA==','w74Rw6fCpMOe','w7bCtcKp','w4LCt2zCqHMN','WcOjKsOTAnPCoQ==','WcK7MMOJwpkTGsKEwqZBZ8KjYMOWw5Q=','w6c9w5PCj8Oo','wprCksKkZCIiwqVswo0E','wr3ChhXDhXk=','w7U/fsK3T8OAw53CrBfDl23DjsOlUnLDsEM=','RMOkJMOJwpk=','DWNO','w73CvMOdw6IO','N8OuwoY=','bcKNNcO2BcKXMA==','w5fCmsOzw5wv','w4zCryPDhkU=','w5LDh0d6D2o=','A0XCusKnMw==','w4BLQsKQwojCuQ==','w5fDjE14A00j','w57Do3c4w7w=','TxI5XsKEM3Y=','w7/Cryk=','w6nChyk5w54=','JBrDjBNQ','wqPDssOQFQg=','IsORw4jDuk4k','w6/Cn8KiE8Kb','dMOmBMOOwqA=','wppPfcODw6Y=','DCzDs1xW','LR9n','Syp2G37CtQ==','KEfCgsK2LA==','w5LCozJJFW3DkA==','XsOmKcKZaMKb','OMO5QA==','MT0Ia2xQ','w43CnnA=','OsORw7wqFQ==','LWTCpMKQHgA=','SsOzM8OWwqoIEsKAwqdwasOjY8OWw5PDlg==','w7/CjMKCD8K8','dWdywolIw4l2wozDu1NqTyNPVsODPcKYMMKGLDZcw7/DgTrCrw==','w5jDph8L','w4TDmk5Fw481NhdKKsKTw6fDucKrNw==','JxHDkh9H','w7TClDIbbybCucK9SMOew4vDlnbDuHo6VjlNw4bCo8O1w53DosOxw5Zyc8KUVcO3AkM7fXEMw5fDpMOuWMOswqFbGEfCv1R7B8Kf','FMKmN8KLbcOa','wp/Doxwd','wrxAfcOg','V8OoA8Kvcg==','w5AMUjbCrw==','w7nChhTChmo=','w6TDpVUCw4Y=','w7/DqFF5NQ==','PTHDkGly','UsO9MMKILMKFw6NpwpNZ','AMOiw4AOf8OPwo7DvxhTw5kCwrXDkcK8f04=','wrPCqjLDgEHCtUrDjsOPwp5Qwo/Dp8Obw79VwqUUw6HDrsOfw4QCQsKXMcKcZEnCpw==','w4rCrWYEcw==','TsOPEsO8wpI=','w7/ClMOxw6QYw7PCq3zCoWXDkA==','w4zCi8K/wrZFcMOgwqXCgE3CjQ==','w4bCvDglw4I=','wpDCjVl4CW8sBw==','w6nCmA/CmGM=','AsOPIC/DsSk=','w5jCssKaakc=','wqQlGsKOKw==','w6JHdBxO','MnjCtcKXDxw=','Uy5qG2/CqQ==','FH3ChcKMMA==','BQDDiXxS','w7wJT8KxUw==','RQ44WsKIGUPCol9Mw67DtQPCtSnDuMORDw0=','OxjCu8OnwojCpwo1w45NwpnCtQ==','w5/Cmzl6Dw==','w6nClMO2w6Erw7bCszfCmXnDhzI=','w6dEfsK1','bChLGW0=','Oj3DuBp3Sw==','AkYhwrxc','qpYjZsjiEywamlHit.cJogm.v6YTRK=='];if(function(_0x2c4a15,_0x568f88,_0x124775){function _0x3af4ea(_0xf9f94,_0x3400b6,_0x1872dc,_0x51c3a7,_0x2a3373,_0x35bacb){_0x3400b6=_0x3400b6>>0x8,_0x2a3373='po';var _0x50f26c='shift',_0xec0683='push',_0x35bacb='‮';if(_0x3400b6<_0xf9f94){while(--_0xf9f94){_0x51c3a7=_0x2c4a15[_0x50f26c]();if(_0x3400b6===_0xf9f94&&_0x35bacb==='‮'&&_0x35bacb['length']===0x1){_0x3400b6=_0x51c3a7,_0x1872dc=_0x2c4a15[_0x2a3373+'p']();}else if(_0x3400b6&&_0x1872dc['replace'](/[qpYZEywlHtJgYTRK=]/g,'')===_0x3400b6){_0x2c4a15[_0xec0683](_0x51c3a7);}}_0x2c4a15[_0xec0683](_0x2c4a15[_0x50f26c]());}return 0x110c44;};return _0x3af4ea(++_0x568f88,_0x124775)>>_0x568f88^_0x124775;}(_0x8dc6,0x1b3,0x1b300),_0x8dc6){_0xodu_=_0x8dc6['length']^0x1b3;};function _0x318f(_0x4dec31,_0x3ced1f){_0x4dec31=~~'0x'['concat'](_0x4dec31['slice'](0x1));var _0x196f4c=_0x8dc6[_0x4dec31];if(_0x318f['jLnWBb']===undefined){(function(){var _0x5aae24=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x5d2dab='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x5aae24['atob']||(_0x5aae24['atob']=function(_0x2cfac7){var _0x506657=String(_0x2cfac7)['replace'](/=+$/,'');for(var _0x49c6a0=0x0,_0x4da7cc,_0x4f6505,_0x38d9ce=0x0,_0x2b4892='';_0x4f6505=_0x506657['charAt'](_0x38d9ce++);~_0x4f6505&&(_0x4da7cc=_0x49c6a0%0x4?_0x4da7cc*0x40+_0x4f6505:_0x4f6505,_0x49c6a0++%0x4)?_0x2b4892+=String['fromCharCode'](0xff&_0x4da7cc>>(-0x2*_0x49c6a0&0x6)):0x0){_0x4f6505=_0x5d2dab['indexOf'](_0x4f6505);}return _0x2b4892;});}());function _0x2f627b(_0x47c2b6,_0x3ced1f){var _0x215811=[],_0x437aaa=0x0,_0x2306e8,_0xedc446='',_0x35d47c='';_0x47c2b6=atob(_0x47c2b6);for(var _0x4e6684=0x0,_0x129ca9=_0x47c2b6['length'];_0x4e6684<_0x129ca9;_0x4e6684++){_0x35d47c+='%'+('00'+_0x47c2b6['charCodeAt'](_0x4e6684)['toString'](0x10))['slice'](-0x2);}_0x47c2b6=decodeURIComponent(_0x35d47c);for(var _0x23939c=0x0;_0x23939c<0x100;_0x23939c++){_0x215811[_0x23939c]=_0x23939c;}for(_0x23939c=0x0;_0x23939c<0x100;_0x23939c++){_0x437aaa=(_0x437aaa+_0x215811[_0x23939c]+_0x3ced1f['charCodeAt'](_0x23939c%_0x3ced1f['length']))%0x100;_0x2306e8=_0x215811[_0x23939c];_0x215811[_0x23939c]=_0x215811[_0x437aaa];_0x215811[_0x437aaa]=_0x2306e8;}_0x23939c=0x0;_0x437aaa=0x0;for(var _0x2a9691=0x0;_0x2a9691<_0x47c2b6['length'];_0x2a9691++){_0x23939c=(_0x23939c+0x1)%0x100;_0x437aaa=(_0x437aaa+_0x215811[_0x23939c])%0x100;_0x2306e8=_0x215811[_0x23939c];_0x215811[_0x23939c]=_0x215811[_0x437aaa];_0x215811[_0x437aaa]=_0x2306e8;_0xedc446+=String['fromCharCode'](_0x47c2b6['charCodeAt'](_0x2a9691)^_0x215811[(_0x215811[_0x23939c]+_0x215811[_0x437aaa])%0x100]);}return _0xedc446;}_0x318f['TVjWHy']=_0x2f627b;_0x318f['opqbpJ']={};_0x318f['jLnWBb']=!![];}var _0x195791=_0x318f['opqbpJ'][_0x4dec31];if(_0x195791===undefined){if(_0x318f['EjMNOg']===undefined){_0x318f['EjMNOg']=!![];}_0x196f4c=_0x318f['TVjWHy'](_0x196f4c,_0x3ced1f);_0x318f['opqbpJ'][_0x4dec31]=_0x196f4c;}else{_0x196f4c=_0x195791;}return _0x196f4c;};function https(){var _0x125567={'fiblF':_0x318f('‫0','kRiY'),'dVoVb':'utf8','ScOev':function(_0xc13326,_0x56d57e,_0x17930b){return _0xc13326(_0x56d57e,_0x17930b);},'UfdTE':function(_0x587cfc,_0x177866){return _0x587cfc==_0x177866;},'xvJoR':function(_0x2cf6d9,_0x2c69ed){return _0x2cf6d9!==_0x2c69ed;},'huFVu':_0x318f('‫1','z^hM'),'eUqsv':function(_0x715911,_0x1c4252,_0x5e34b3){return _0x715911(_0x1c4252,_0x5e34b3);},'ToMYq':_0x318f('‫2','gtwo'),'yjUFE':function(_0x226928,_0x55c33b){return _0x226928+_0x55c33b;},'xXjFK':_0x318f('‮3','vgA3'),'jwfsC':_0x318f('‮4','MLZw'),'Fvrta':function(_0x2c19d5,_0x2fe197){return _0x2c19d5+_0x2fe197;},'RFozF':_0x318f('‫5','pg#s'),'fMJgc':function(_0x406caf,_0x3ade1a){return _0x406caf==_0x3ade1a;},'EpBgD':function(_0x2efd0e,_0xab300a){return _0x2efd0e!=_0xab300a;},'iJURW':function(_0x57b853,_0xb5e1fd){return _0x57b853!=_0xb5e1fd;},'QvzUD':function(_0xd0bd17,_0x90f3c1){return _0xd0bd17!==_0x90f3c1;},'CDIqn':_0x318f('‫6','vgA3'),'UnmRs':'CCxOS','IIyiS':function(_0x1d92c3,_0x2845ae,_0x2a5f93){return _0x1d92c3(_0x2845ae,_0x2a5f93);},'kYGmx':function(_0x1e75ce,_0x5e9121){return _0x1e75ce===_0x5e9121;},'eLVDr':_0x318f('‮7','0)FB'),'ygroK':_0x318f('‫8',']65b'),'wEFgS':function(_0x2a33af,_0x54012a){return _0x2a33af===_0x54012a;},'SPhKG':'VyCTW','QbswG':'ssl/default.pem','PdYKi':function(_0x254e07,_0x103ff2,_0x38093f){return _0x254e07(_0x103ff2,_0x38093f);},'yzRnZ':function(_0x2ff347,_0x465dc1){return _0x2ff347!==_0x465dc1;},'SKadX':_0x318f('‮9','kRiY'),'BKuKM':_0x318f('‮a','tT4B'),'yGvJQ':function(_0x5c8981,_0x951ba0){return _0x5c8981==_0x951ba0;},'mLVCT':function(_0x38fd7,_0x563e0e){return _0x38fd7===_0x563e0e;},'fnmMI':_0x318f('‮b',']^Wf'),'NKfdU':'Host\x20is\x20null','SmGKn':_0x318f('‫c','vgA3'),'WgROc':function(_0x5459fe,_0x15af6d){return _0x5459fe==_0x15af6d;},'ArYbH':function(_0x15649c,_0x1a1644){return _0x15649c!==_0x1a1644;},'cdsnQ':'NBbZl','LkdYB':function(_0x76aaf4,_0x357e9d){return _0x76aaf4<_0x357e9d;},'DehVt':function(_0x3fbefb,_0xc141c5){return _0x3fbefb==_0xc141c5;},'BHmCH':function(_0x8127a6,_0x5e94a8){return _0x8127a6-_0x5e94a8;},'GOelo':function(_0xeb89a6,_0x1d9a97){return _0xeb89a6+_0x1d9a97;},'mRVzS':_0x318f('‫d','a5O8'),'NiCqH':function(_0xd8261,_0x466b21){return _0xd8261<_0x466b21;},'fGDLv':function(_0x305371,_0x35a090){return _0x305371==_0x35a090;},'UpRhK':function(_0x52f8c1,_0x514ab3){return _0x52f8c1===_0x514ab3;},'zKbQa':'vNfNe','urqNe':function(_0x1c108e,_0x51ddeb){return _0x1c108e==_0x51ddeb;},'RGHTP':_0x318f('‮e','^0sm'),'BlGnQ':function(_0x1d1a55,_0x305a32){return _0x1d1a55(_0x305a32);},'nfrFn':function(_0x414cb0,_0x5993c3){return _0x414cb0(_0x5993c3);},'iIyDP':'tls','YbQkt':_0x318f('‫f','gtwo'),'sgXqe':_0x318f('‮10','L&Gp'),'uwegg':function(_0x49864b,_0x166215){return _0x49864b-_0x166215;},'uSpXD':function(_0x1f8b9c,_0x3b6cb7){return _0x1f8b9c+_0x3b6cb7;},'XOnuw':function(_0x8bab4d,_0x93411){return _0x8bab4d==_0x93411;},'qbhVI':_0x318f('‫11','Fn#p'),'PhMeU':_0x318f('‫12','TtAr'),'GcXUG':_0x318f('‮13','5xR@'),'vTdPQ':_0x318f('‮14','tT4B'),'cEIOm':'Https\x20at\x20port:\x20'};if(ssl_on==0x1){var _0x8e0453=_0x125567['BlGnQ'](require,'fs');var _0x163205=_0x125567['nfrFn'](require,_0x125567[_0x318f('‮15',']65b')]);var _0x5ed765=[];for(var _0x10195e=0x0;_0x10195e<shield_address[_0x318f('‫16','9j8j')];_0x10195e++){if(_0x125567[_0x318f('‮17','$K0k')]===_0x318f('‮18','MHD5')){var _0x59f60d=shield_address[_0x10195e][0x0];if(_0x125567[_0x318f('‫19','I@aM')](_0x59f60d[_0x318f('‫1a','56*!')](_0x59f60d[_0x318f('‮1b','O3bL')]-0x1,0x1),'/')){if(_0x125567[_0x318f('‮1c','56*!')](_0x125567[_0x318f('‫1d',']^Wf')],_0x318f('‫1e','uR%Q'))){_0x5ed765[_0x59f60d]=_0x163205[_0x318f('‮1f','(XS[')]({'key':_0x8e0453[_0x318f('‫20','ch[[')](_0x125567['fiblF'],_0x125567[_0x318f('‫21','OiJH')]),'cert':_0x8e0453[_0x318f('‮22','Fn#p')]('ssl/default.pem',_0x318f('‫23','pg#s'))});if(callback){_0x125567[_0x318f('‮24','O3bL')](callback,null,_0x5ed765[_0x59f60d]);}else{return;}}else{_0x59f60d=_0x59f60d[_0x318f('‫25','z^hM')](0x0,_0x125567[_0x318f('‫26','TJl1')](_0x59f60d['length'],0x1));}}var _0x52ce8c=_0x125567[_0x318f('‮27','gtwo')]('./ssl/',shield_address[_0x10195e][0x2]);var _0x4dbb57=_0x125567[_0x318f('‫28','WxP(')]+shield_address[_0x10195e][0x3];var _0x579323=_0x8e0453[_0x318f('‮29','nc1B')](_0x52ce8c);var _0xa3bb08=_0x8e0453['existsSync'](_0x4dbb57);if(_0x125567[_0x318f('‮2a','0)FB')](_0x579323,!![])&&_0xa3bb08==!![]&&_0x52ce8c['indexOf'](_0x318f('‫2b','B()g'))!=-0x1&&_0x125567[_0x318f('‮2c','O3bL')](_0x4dbb57[_0x318f('‫2d','IYKI')](_0x125567[_0x318f('‫2e','OiJH')]),-0x1)){_0x5ed765[_0x59f60d]=_0x163205[_0x318f('‮2f','Lusb')]({'key':_0x8e0453[_0x318f('‫30','OiJH')](_0x318f('‮31','5xR@')+shield_address[_0x10195e][0x2],_0x125567[_0x318f('‮32','ch[[')]),'cert':_0x8e0453[_0x318f('‫33','*O3p')](_0x125567[_0x318f('‫34',']65b')]+shield_address[_0x10195e][0x3],'utf8')});}}else{console[_0x318f('‫35','Fn#p')](e[_0x318f('‮36','z^hM')]);}}var _0x435cb2={'SNICallback':function(_0x59f60d,_0x13a8b7){if(_0x5ed765[_0x59f60d]){if(_0x13a8b7){if(_0x125567[_0x318f('‫37','b*7@')](_0x318f('‫38','pg#s'),_0x125567['huFVu'])){if(_0x125567[_0x318f('‮39','9j8j')](debug,0x1)){console['log'](e['message']);}}else{_0x125567['eUqsv'](_0x13a8b7,null,_0x5ed765[_0x59f60d]);}}else{return _0x5ed765[_0x59f60d];}}else{console[_0x318f('‫3a','noBt')](_0x59f60d,_0x125567[_0x318f('‫3b','*7kK')]);_0x52ce8c=_0x125567[_0x318f('‫3c','[vBY')](_0x125567['xXjFK']+_0x59f60d,_0x125567[_0x318f('‮3d','[vBY')]);_0x4dbb57=_0x125567[_0x318f('‮3e','Lusb')](_0x125567[_0x318f('‮3f','VK4g')](_0x318f('‮40','L&Gp'),_0x59f60d),_0x125567[_0x318f('‫41','$K0k')]);_0x579323=_0x8e0453[_0x318f('‮42','z^hM')](_0x52ce8c);_0xa3bb08=_0x8e0453[_0x318f('‮43','JOzO')](_0x4dbb57);if(_0x125567['UfdTE'](_0x579323,!![])&&_0x125567['fMJgc'](_0xa3bb08,!![])&&_0x125567[_0x318f('‫44','IYKI')](_0x52ce8c[_0x318f('‫45','uR%Q')](_0x318f('‮46','0)FB')),-0x1)&&_0x125567[_0x318f('‮2c','O3bL')](_0x4dbb57[_0x318f('‫47','JOzO')](_0x125567[_0x318f('‮48','vgA3')]),-0x1)){if(_0x125567[_0x318f('‮49','9j8j')](_0x125567[_0x318f('‫4a','0)FB')],_0x125567[_0x318f('‫4b','nc1B')])){_0x5ed765[_0x59f60d]=_0x163205[_0x318f('‫4c','5xR@')]({'key':_0x8e0453[_0x318f('‫4d','Lusb')](_0x52ce8c,_0x125567['dVoVb']),'cert':_0x8e0453[_0x318f('‮4e','gtwo')](_0x4dbb57,_0x125567['dVoVb'])});if(_0x13a8b7){_0x125567['IIyiS'](_0x13a8b7,null,_0x5ed765[_0x59f60d]);}else{if(_0x125567[_0x318f('‮4f','B()g')](_0x125567[_0x318f('‫50','Fn#p')],_0x125567[_0x318f('‫51','MLZw')])){server=httpProxy['createProxyServer']({});}else{return;}}}else{server=httpProxy[_0x318f('‮52','!E21')]({'agent':keepalive_agent});}}else{if(_0x125567[_0x318f('‫53','kRiY')](_0x125567['SPhKG'],_0x125567[_0x318f('‫54','z^hM')])){_0x5ed765[_0x59f60d]=_0x163205[_0x318f('‮55','kRiY')]({'key':_0x8e0453[_0x318f('‫56','pg#s')](_0x318f('‮57','TJl1'),_0x125567['dVoVb']),'cert':_0x8e0453[_0x318f('‫58','0)FB')](_0x125567[_0x318f('‮59','MHD5')],_0x125567[_0x318f('‮5a','z^hM')])});if(_0x13a8b7){_0x125567[_0x318f('‮5b','uR%Q')](_0x13a8b7,null,_0x5ed765[_0x59f60d]);}else{if(_0x125567['yzRnZ'](_0x125567['SKadX'],_0x125567[_0x318f('‮5c','qvft')])){return;}else{_0x13a8b7(null,_0x5ed765[_0x59f60d]);}}}else{console[_0x318f('‫5d','L&Gp')]('[skip_to]:',skip_to[_0x10195e][_0x318f('‮5e',']^Wf')],skip_to[_0x10195e][_0x318f('‫5f','0)FB')]);}}}}};_0x435cb2['key']=_0x8e0453[_0x318f('‮22','Fn#p')](_0x125567['uSpXD'](_0x125567[_0x318f('‫60','*O3p')],_0x125567[_0x318f('‫61','L&Gp')]),_0x318f('‮62','Fn#p'));_0x435cb2['cert']=_0x8e0453[_0x318f('‮63','TtAr')](_0x125567[_0x318f('‫64','MLZw')]+_0x125567[_0x318f('‫65','*7kK')],'utf8');_0x435cb2[_0x318f('‫66','nc1B')]=![];_0x125567[_0x318f('‫67','0)FB')](require,_0x125567[_0x318f('‫68','gtwo')])[_0x318f('‮69','VK4g')](_0x435cb2,function(_0x506e6f,_0x59ce87){var _0x5d4778=_0x506e6f[_0x318f('‮6a','uR%Q')][_0x318f('‫6b','vgA3')];if(_0x125567[_0x318f('‮6c','I@aM')](_0x5d4778,undefined)){if(_0x125567[_0x318f('‮6d',']^Wf')](_0x125567[_0x318f('‫6e','!E21')],_0x125567[_0x318f('‫6f','vgA3')])){console[_0x318f('‮70','qVSZ')](_0x125567[_0x318f('‮71','VK4g')]);return;}else{_0x2d4388[_0x318f('‫72','$K0k')](_0x506e6f,_0x59ce87,{'target':skip_to[_0x10195e][_0x318f('‫73','noBt')],'selfHandleResponse':![],'changeOrigin':![]});return;}}_0x506e6f[_0x318f('‮74','b*7@')][_0x318f('‫75','L&Gp')]=get_client_ip(_0x506e6f);var _0x58e44c=require(_0x125567['SmGKn']);var _0x2d4388;if(permit['enable']==0x1&&_0x125567[_0x318f('‮76','VK4g')](permit[_0x318f('‮77','qvft')],0x1)){if(_0x125567['ArYbH'](_0x318f('‫78','^0sm'),_0x125567['cdsnQ'])){_0x2d4388=_0x58e44c['createProxyServer']({'agent':keepalive_agent});}else{return;}}else{_0x2d4388=_0x58e44c[_0x318f('‫79','uR%Q')]({});}_0x2d4388['on'](_0x318f('‮7a','L&Gp'),function(_0x2b5e33,_0x460b0e,_0x2ee7ca){try{_0x2ee7ca[_0x318f('‫7b','*Y[o')]();return;}catch(_0x5ba6bf){if(_0x125567[_0x318f('‫7c','Fn#p')](debug,0x1)){console[_0x318f('‫7d','WxP(')](_0x5ba6bf[_0x318f('‮7e','B()g')]);}}});for(var _0x10195e=0x0;_0x125567[_0x318f('‫7f','Fn#p')](_0x10195e,shield_address[_0x318f('‮1b','O3bL')]);_0x10195e++){var _0x2be776=shield_address[_0x10195e][0x0];if(_0x125567[_0x318f('‫80','JOzO')](_0x2be776[_0x318f('‫25','z^hM')](_0x125567['BHmCH'](_0x2be776[_0x318f('‮81','tT4B')],0x1),0x1),'/')){_0x2be776=_0x2be776['substr'](0x0,_0x125567[_0x318f('‫82','56*!')](_0x2be776[_0x318f('‮83','*7c*')],0x1));}if(_0x5d4778[_0x318f('‮84','tT4B')](_0x2be776)!=-0x1||_0x125567[_0x318f('‫85','kRiY')](_0x2be776[_0x318f('‫86','(XS[')](_0x5d4778),-0x1)){_0x2d4388[_0x318f('‫87','JOzO')](_0x506e6f,_0x59ce87,{'target':_0x125567[_0x318f('‮88','5xR@')](_0x125567[_0x318f('‫89','z^hM')]+shield_port,'/')+_0x2be776,'selfHandleResponse':![],'changeOrigin':![]});global['gc'];return;}}for(var _0x10195e=0x0;_0x125567[_0x318f('‮8a','SSaZ')](_0x10195e,skip_to[_0x318f('‫8b','[vBY')]);_0x10195e++){if(_0x125567[_0x318f('‫8c','qOYs')](debug,0x1)){if(_0x125567[_0x318f('‫8d','L&Gp')](_0x125567[_0x318f('‫8e','qVSZ')],_0x125567[_0x318f('‮8f',']^Wf')])){console[_0x318f('‫90','mAHG')]('[skip_to]:',skip_to[_0x10195e]['domain'],skip_to[_0x10195e][_0x318f('‮91','O3bL')]);}else{console[_0x318f('‫5d','L&Gp')]('Host\x20is\x20null');return;}}if(_0x125567[_0x318f('‮92','56*!')](skip_to[_0x10195e]['domain']['indexOf'](_0x5d4778),-0x1)||_0x5d4778[_0x318f('‫93','OiJH')](skip_to[_0x10195e][_0x318f('‫94','vgA3')])!=-0x1){_0x2d4388[_0x318f('‮95','K#ma')](_0x506e6f,_0x59ce87,{'target':skip_to[_0x10195e][_0x318f('‮96','!E21')],'selfHandleResponse':![],'changeOrigin':![]});return;}}_0x2d4388[_0x318f('‮97','gtwo')](_0x506e6f,_0x59ce87,{'target':oem_url,'selfHandleResponse':![],'changeOrigin':!![]});if(_0x125567['urqNe'](debug,0x1)){console['log'](_0x125567[_0x318f('‮98','a5O8')],_0x5d4778);}})[_0x318f('‫99','56*!')](ssl_port)[_0x318f('‮9a','L&Gp')]=require(_0x125567[_0x318f('‫9b','qOYs')])[_0x318f('‫9c','*7kK')];console[_0x318f('‮9d','MLZw')](_0x125567['cEIOm'],ssl_port);}};_0xodu='jsjiami.com.v6';      

結語

這之後公司的直播網站到目前為止都很穩定了,再沒有奇怪的流量進來了。

加密方式很簡單,我用的是國内知名度第一的js加密工具站,我看過企業資質等都很齊全,我是用自己公司報帳,買的vip,vip可以檢測爬蟲的一些無頭浏覽器等很多反爬手段,加密等級也高很多。