逆向日期:2024.02.09
使用工具:Node.js
是否有混淆:源代码混淆
加密方法:AES标准库
文章全程已做去敏处理!!! 【需要做的可联系我】
可使用AES进行解密处理(直接解密即可):在线AES加解密工具
1、打开某某网站(请使用文章开头的AES在线工具解密):0ts0uY0exzWzXIgB4Smhglteutqgh17h3GedA8f9FQY=
2、打开网站后(等网页加载完成后),【右键检查】打开控制台,会看到一直会有【debugger】,这个时候直接使用hook在控制台过一下,切记,使用hook后不要刷新网页,否则需要重新hook才行,或者hook搭配油猴在启动网页时就注入js,否则会卡死或会一直debugger。还有一个debugger,可以右键不在一律此处暂停即可绕过
// 【去除debuger】 此段代码放控制台运行即可
Function.prototype.__constructor_back = Function.prototype.constructor;
Function.prototype.constructor = function (){
if (arguments && typeof arguments[0] === 'string') {
if ("debugger" === arguments[0]){
return null;
}
}
return Function.prototype.__constructor_back.apply(this, arguments);
}
3、随便加密一下内容,可在网页控制台看到载荷内容,首先我们先模拟一下这个【code】是怎么生成的
4、接下来开始找加密位置,经过我拉个便便的功夫,找到了,是一个AES加密方法,这个加密的源代码是一个全部混淆状态,经过测试,需要经过扣代码和还原代码才能使用。而且他这个密钥也是随机生成的,密钥和加密后的密文都会传回服务器。
5、【扣加密代码】
6、由于我已经测试过了,直接说了,此混淆直接扣下来的代码不能直接用,需要自己进行解混淆,不然会用不了,看下面图
7、测试一下,很明显就能看出来,本地测试的结果和网络面板里加密的结果一样,下面我们就把代码直接展示了,不多说废话了,,,他那个密钥是前端随机生成的,我们测试的时候可以先拿他那个密钥去测我们扣下来代码,看看结果是否一致,是一样的,就可以去模拟随机密码的生成方法。
8、插一句,他这个网站传输其实有问题的,只要我们把加密方法扣下来,然后密钥我们可以自己写固定,然后用AES一直持续加密,只需要更改明文参数即可,然后密钥可以一直用一样的,把我们那个固定的密钥传回给他的服务器就行,可以免去生成随机密钥这一累赘
【附上源码】
1、【随机16位密钥生成代码】
为防止二次编辑或对该网站的原创保护,只能将源代码进行混淆展示。
const _0x19e4=['wop7I8OQw4I=','J8OUw7ozZw==','XGfDsklo','w481w68lwpE=','EMKcwq7CncOx','BnrCmMKmw6I=','wr7CqcK+OsKj','JCzCjsKaEg==','woZ1wqh7wqg=','K8ORw7xQKcOx','w6fDk8O2wpHCvg==','JjtnFsOGwpE=','VsOkw5/Ck0ECwrLCqw7ClWAXwpTCt8Obw6vCncONZEoHcybCtMKEVTh2wpjCjAt9w5zDoMKIw49yHWADCwBxQinDl8K0wr/CsMKYUcO+czTCnMK4w5fCg8KBw6ROTw==','wpkkWcO0w6U=','NMO/w7vComg='];(function(_0x2d68ad,_0x19e45d){const _0x215beb=function(_0x17e7d7){while(--_0x17e7d7){_0x2d68ad['push'](_0x2d68ad['shift']());}};_0x215beb(++_0x19e45d);}(_0x19e4,0x122));const _0x215b=function(_0x2d68ad,_0x19e45d){_0x2d68ad=_0x2d68ad-0x0;let _0x215beb=_0x19e4[_0x2d68ad];if(_0x215b['cgUzzr']===undefined){(function(){const _0x1dc8df=function(){let _0xfa0130;try{_0xfa0130=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(_0x5af8ab){_0xfa0130=window;}return _0xfa0130;};const _0x35a20d=_0x1dc8df();const _0x5f06d6='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x35a20d['atob']||(_0x35a20d['atob']=function(_0x589946){const _0x561496=String(_0x589946)['replace'](/=+$/,'');let _0x44b5f9='';for(let _0x5863bb=0x0,_0x1ab340,_0x159299,_0x2f8633=0x0;_0x159299=_0x561496['charAt'](_0x2f8633++);~_0x159299&&(_0x1ab340=_0x5863bb%0x4?_0x1ab340*0x40+_0x159299:_0x159299,_0x5863bb++%0x4)?_0x44b5f9+=String['fromCharCode'](0xff&_0x1ab340>>(-0x2*_0x5863bb&0x6)):0x0){_0x159299=_0x5f06d6['indexOf'](_0x159299);}return _0x44b5f9;});}());const _0x1cecdd=function(_0x628a79,_0x52090b){let _0x1e3725=[],_0x5bae8d=0x0,_0x4f7dc9,_0x23822f='',_0x2088e0='';_0x628a79=atob(_0x628a79);for(let _0x1fc765=0x0,_0x38ec10=_0x628a79['length'];_0x1fc765<_0x38ec10;_0x1fc765++){_0x2088e0+='%'+('00'+_0x628a79['charCodeAt'](_0x1fc765)['toString'](0x10))['slice'](-0x2);}_0x628a79=decodeURIComponent(_0x2088e0);let _0x173882;for(_0x173882=0x0;_0x173882<0x100;_0x173882++){_0x1e3725[_0x173882]=_0x173882;}for(_0x173882=0x0;_0x173882<0x100;_0x173882++){_0x5bae8d=(_0x5bae8d+_0x1e3725[_0x173882]+_0x52090b['charCodeAt'](_0x173882%_0x52090b['length']))%0x100;_0x4f7dc9=_0x1e3725[_0x173882];_0x1e3725[_0x173882]=_0x1e3725[_0x5bae8d];_0x1e3725[_0x5bae8d]=_0x4f7dc9;}_0x173882=0x0;_0x5bae8d=0x0;for(let _0x239a65=0x0;_0x239a65<_0x628a79['length'];_0x239a65++){_0x173882=(_0x173882+0x1)%0x100;_0x5bae8d=(_0x5bae8d+_0x1e3725[_0x173882])%0x100;_0x4f7dc9=_0x1e3725[_0x173882];_0x1e3725[_0x173882]=_0x1e3725[_0x5bae8d];_0x1e3725[_0x5bae8d]=_0x4f7dc9;_0x23822f+=String['fromCharCode'](_0x628a79['charCodeAt'](_0x239a65)^_0x1e3725[(_0x1e3725[_0x173882]+_0x1e3725[_0x5bae8d])%0x100]);}return _0x23822f;};_0x215b['Burbuv']=_0x1cecdd;_0x215b['TnwIzj']={};_0x215b['cgUzzr']=!![];}const _0x17e7d7=_0x215b['TnwIzj'][_0x2d68ad];if(_0x17e7d7===undefined){if(_0x215b['DYFqvy']===undefined){_0x215b['DYFqvy']=!![];}_0x215beb=_0x215b['Burbuv'](_0x215beb,_0x19e45d);_0x215b['TnwIzj'][_0x2d68ad]=_0x215beb;}else{_0x215beb=_0x17e7d7;}return _0x215beb;};function dmk(_0x11afd1=0x1*-0x371+0x3a6*0x8+-0x19af*0x1){const _0x2afc9d={};_0x2afc9d[_0x215b('0xa','CA4Y')]=_0x215b('0x7','4BwI');_0x2afc9d['vXlRu']=function(_0x2b917b,_0xa37a2f){return _0x2b917b<_0xa37a2f;},_0x2afc9d[_0x215b('0x8','6*vz')]=function(_0x17fc50,_0x854265){return _0x17fc50!==_0x854265;},_0x2afc9d['kDATi']='IfrkF';_0x2afc9d[_0x215b('0xb','1w79')]=_0x215b('0x5','GU*b'),_0x2afc9d[_0x215b('0xd','IfG0')]=function(_0x6a099e,_0x29f5f7){return _0x6a099e+_0x29f5f7;},_0x2afc9d['AMFcE']=function(_0x235c18,_0x2b3722){return _0x235c18*_0x2b3722;};let _0x4be613=_0x2afc9d[_0x215b('0xc','JBZx')];let _0x4cab46='';for(let _0x3ac623=0x1*0x5b3+-0xdba+0x807;_0x2afc9d['vXlRu'](_0x3ac623,_0x11afd1);_0x3ac623++){if(_0x2afc9d[_0x215b('0x9','Qrc[')](_0x2afc9d[_0x215b('0x0','21SH')],_0x2afc9d[_0x215b('0x1','*t[S')]))_0x4cab46=_0x2afc9d[_0x215b('0x3','tgGF')](_0x4cab46,_0x4be613[_0x215b('0x2','x@[0')+'t'](_0x2afc9d[_0x215b('0xe','0S2&')](Math[_0x215b('0x4','3w(8')](),_0x4be613[_0x215b('0x6','z22V')])));else return![];}return _0x4cab46;}
console.log(dmk())
2、【模拟加密代码】
为防止二次编辑或对该网站的原创保护,只能将源代码进行混淆展示。
npm install crypto-js --save // 请先安装本地包
const CryptoJS = require("crypto-js");
const _0x3e30=['Tyhjwqs5','YQQLSw==','I8KGwp0hSyMKwrYW','Dx7DkMOy','wp3CksKxfQ==','AsOdCMKS','XMOZwoACwrg=','BsOXwpk=','JsOxwr5OMMO6','GsK+w4w=','wpDCsWFs','HsKmPMODwo4=','wrHDgsK9wpXCig==','wolXAAw2','D8KsJQ==','wrnCgMKpQsKJ','wqzDucKIw5nChw==','KMK1EcKHw7l3','TcONEHoASxA=','MiHDn8KyOg==','FMKkdmIG','OmUKP8Ke','w4nCqlTCt1A=','BArDjQ==','wq/DmMKYw4fClg==','IcO2XV4Z','SsOlwrwxwrM='];(function(_0x4b93a0,_0x3e3068){const _0x24bd92=function(_0x5b924e){while(--_0x5b924e){_0x4b93a0['push'](_0x4b93a0['shift']());}};_0x24bd92(++_0x3e3068);}(_0x3e30,0x1a1));const _0x24bd=function(_0x4b93a0,_0x3e3068){_0x4b93a0=_0x4b93a0-0x0;let _0x24bd92=_0x3e30[_0x4b93a0];if(_0x24bd['nMbsDX']===undefined){(function(){const _0x1454a3=function(){let _0x26bde3;try{_0x26bde3=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(_0x469218){_0x26bde3=window;}return _0x26bde3;};const _0x4cd55f=_0x1454a3();const _0x5d9fe3='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x4cd55f['atob']||(_0x4cd55f['atob']=function(_0x3bc981){const _0x3bdbfa=String(_0x3bc981)['replace'](/=+$/,'');let _0x3dcf85='';for(let _0x305f5f=0x0,_0x2d56db,_0xea7f6a,_0x2bac7=0x0;_0xea7f6a=_0x3bdbfa['charAt'](_0x2bac7++);~_0xea7f6a&&(_0x2d56db=_0x305f5f%0x4?_0x2d56db*0x40+_0xea7f6a:_0xea7f6a,_0x305f5f++%0x4)?_0x3dcf85+=String['fromCharCode'](0xff&_0x2d56db>>(-0x2*_0x305f5f&0x6)):0x0){_0xea7f6a=_0x5d9fe3['indexOf'](_0xea7f6a);}return _0x3dcf85;});}());const _0x36274d=function(_0x4d53e9,_0x23b93c){let _0x1f4513=[],_0x3a3dc9=0x0,_0x4df21a,_0x2bc2ae='',_0x175ef5='';_0x4d53e9=atob(_0x4d53e9);for(let _0x4c70b7=0x0,_0x351bf0=_0x4d53e9['length'];_0x4c70b7<_0x351bf0;_0x4c70b7++){_0x175ef5+='%'+('00'+_0x4d53e9['charCodeAt'](_0x4c70b7)['toString'](0x10))['slice'](-0x2);}_0x4d53e9=decodeURIComponent(_0x175ef5);let _0x1c8a1b;for(_0x1c8a1b=0x0;_0x1c8a1b<0x100;_0x1c8a1b++){_0x1f4513[_0x1c8a1b]=_0x1c8a1b;}for(_0x1c8a1b=0x0;_0x1c8a1b<0x100;_0x1c8a1b++){_0x3a3dc9=(_0x3a3dc9+_0x1f4513[_0x1c8a1b]+_0x23b93c['charCodeAt'](_0x1c8a1b%_0x23b93c['length']))%0x100;_0x4df21a=_0x1f4513[_0x1c8a1b];_0x1f4513[_0x1c8a1b]=_0x1f4513[_0x3a3dc9];_0x1f4513[_0x3a3dc9]=_0x4df21a;}_0x1c8a1b=0x0;_0x3a3dc9=0x0;for(let _0x599155=0x0;_0x599155<_0x4d53e9['length'];_0x599155++){_0x1c8a1b=(_0x1c8a1b+0x1)%0x100;_0x3a3dc9=(_0x3a3dc9+_0x1f4513[_0x1c8a1b])%0x100;_0x4df21a=_0x1f4513[_0x1c8a1b];_0x1f4513[_0x1c8a1b]=_0x1f4513[_0x3a3dc9];_0x1f4513[_0x3a3dc9]=_0x4df21a;_0x2bc2ae+=String['fromCharCode'](_0x4d53e9['charCodeAt'](_0x599155)^_0x1f4513[(_0x1f4513[_0x1c8a1b]+_0x1f4513[_0x3a3dc9])%0x100]);}return _0x2bc2ae;};_0x24bd['ivaagX']=_0x36274d;_0x24bd['TsSIRe']={};_0x24bd['nMbsDX']=!![];}const _0x5b924e=_0x24bd['TsSIRe'][_0x4b93a0];if(_0x5b924e===undefined){if(_0x24bd['zkOace']===undefined){_0x24bd['zkOace']=!![];}_0x24bd92=_0x24bd['ivaagX'](_0x24bd92,_0x3e3068);_0x24bd['TsSIRe'][_0x4b93a0]=_0x24bd92;}else{_0x24bd92=_0x5b924e;}return _0x24bd92;};function encrypt(_0x4816f6,_0x38d2bb){const _0x49b88d={};_0x49b88d['hKixI']=function(_0xd5e62f,_0x3219bd){return _0xd5e62f+_0x3219bd;};_0x49b88d[_0x24bd('0xf','qg3b')]='debu',_0x49b88d['FtVFu']=_0x24bd('0x14','&m2h'),_0x49b88d[_0x24bd('0x15','C@RN')]=_0x24bd('0x17','3ChN');function _0x360066(_0x114738,_0xd9997c,_0x255ec5,_0x4b3383,_0x369309){return _0x2986ff(_0x114738-0x99,_0x369309-0x539,_0x255ec5-0x157,_0x114738,_0x369309-0x158);}_0x49b88d[_0x24bd('0x3','G2S0')]=function(_0x37facc,_0x1c5776){return _0x37facc instanceof _0x1c5776;},_0x49b88d[_0x24bd('0xc','&*mU')]=function(_0x3f182d,_0x46617f){return _0x3f182d!==_0x46617f;},_0x49b88d[_0x24bd('0x0','8D]x')]=_0x24bd('0x4','&*mU');_0x49b88d[_0x24bd('0x1a','^02v')](_0x4816f6,Object)&&(_0x49b88d[_0x24bd('0xc','&*mU')](_0x49b88d[_0x24bd('0x8','j[Fc')],_0x49b88d[_0x24bd('0xa','#v(H')])?function(){return!![];}[_0x360066(_0x24bd('0x13','G2S0'),0x6c1,0x5bb,0x641,0x618)+_0x24bd('0x5','(WE3')](KVCjGe[_0x24bd('0x7','Y[B0')](KVCjGe[_0x24bd('0xe','C@RN')],KVCjGe[_0x24bd('0xd','kjT7')]))[_0x24bd('0x10','hx@2')](KVCjGe['poDWo']):_0x4816f6=JSON[_0x24bd('0x11','sQZo')](_0x4816f6));let _0x29bcbb=CryptoJS[_0x24bd('0x16','3ChN')][_0x24bd('0x6','@!&D')](CryptoJS[_0x24bd('0x2','^02v')][_0x24bd('0x19','sS40')]['parse'](_0x4816f6),CryptoJS['enc'][_0x24bd('0x12','Y[B0')][_0x24bd('0x1',']B*4')](_0x38d2bb),{'mode':CryptoJS['mode'][_0x24bd('0xb','J6dV')],'padding':CryptoJS[_0x24bd('0x18','$5%0')][_0x24bd('0x9','2WY7')]});return _0x29bcbb['toString']();}
// 明文参数 密钥
console.log(encrypt('你好','lzFzjIsTr9SggAiK'))
3、【模拟解密代码】
为防止二次编辑或对该网站的原创保护,只能将源代码进行混淆展示。
npm install crypto-js --save // 请先安装本地包
const CryptoJS = require("crypto-js");
const _0x2358=['wpJQBjo=','VcOJwp58wo0=','GzxTw7k=','wpbDoMOew4t7','QcOheA==','HRpXwplg','w43Ck8OwVMOOw60=','w4zDpsK8','ZMOZe8OQwps=','wrbCshUHOg==','w67Cq8KQ','wpbCjm7Drg==','QsObwqPDtjQ=','fsO7wp3DqyM=','wqTCr0TDlic=','QSvDvsKVHg==','acObcsOzPw==','wrXDr8KoI2/DkRbDjA==','wprCrsKy','CVJNw7IW'];(function(_0x581fa9,_0x235822){const _0x42ba29=function(_0x59e875){while(--_0x59e875){_0x581fa9['push'](_0x581fa9['shift']());}};_0x42ba29(++_0x235822);}(_0x2358,0x1d6));const _0x42ba=function(_0x581fa9,_0x235822){_0x581fa9=_0x581fa9-0x0;let _0x42ba29=_0x2358[_0x581fa9];if(_0x42ba['sDMCMu']===undefined){(function(){let _0x23e7f5;try{const _0x366134=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');');_0x23e7f5=_0x366134();}catch(_0x54f249){_0x23e7f5=window;}const _0x5be144='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x23e7f5['atob']||(_0x23e7f5['atob']=function(_0x228b01){const _0x81f0dd=String(_0x228b01)['replace'](/=+$/,'');let _0x4cdbbe='';for(let _0x406c87=0x0,_0xa68d,_0x4b4439,_0x590c19=0x0;_0x4b4439=_0x81f0dd['charAt'](_0x590c19++);~_0x4b4439&&(_0xa68d=_0x406c87%0x4?_0xa68d*0x40+_0x4b4439:_0x4b4439,_0x406c87++%0x4)?_0x4cdbbe+=String['fromCharCode'](0xff&_0xa68d>>(-0x2*_0x406c87&0x6)):0x0){_0x4b4439=_0x5be144['indexOf'](_0x4b4439);}return _0x4cdbbe;});}());const _0x5ea518=function(_0x4ee2e6,_0x3a5bf2){let _0x14b0b4=[],_0x1e6a1c=0x0,_0x29fce7,_0x5f229f='',_0x5e7c14='';_0x4ee2e6=atob(_0x4ee2e6);for(let _0x32eaed=0x0,_0x2add29=_0x4ee2e6['length'];_0x32eaed<_0x2add29;_0x32eaed++){_0x5e7c14+='%'+('00'+_0x4ee2e6['charCodeAt'](_0x32eaed)['toString'](0x10))['slice'](-0x2);}_0x4ee2e6=decodeURIComponent(_0x5e7c14);let _0x1d59f0;for(_0x1d59f0=0x0;_0x1d59f0<0x100;_0x1d59f0++){_0x14b0b4[_0x1d59f0]=_0x1d59f0;}for(_0x1d59f0=0x0;_0x1d59f0<0x100;_0x1d59f0++){_0x1e6a1c=(_0x1e6a1c+_0x14b0b4[_0x1d59f0]+_0x3a5bf2['charCodeAt'](_0x1d59f0%_0x3a5bf2['length']))%0x100;_0x29fce7=_0x14b0b4[_0x1d59f0];_0x14b0b4[_0x1d59f0]=_0x14b0b4[_0x1e6a1c];_0x14b0b4[_0x1e6a1c]=_0x29fce7;}_0x1d59f0=0x0;_0x1e6a1c=0x0;for(let _0x458680=0x0;_0x458680<_0x4ee2e6['length'];_0x458680++){_0x1d59f0=(_0x1d59f0+0x1)%0x100;_0x1e6a1c=(_0x1e6a1c+_0x14b0b4[_0x1d59f0])%0x100;_0x29fce7=_0x14b0b4[_0x1d59f0];_0x14b0b4[_0x1d59f0]=_0x14b0b4[_0x1e6a1c];_0x14b0b4[_0x1e6a1c]=_0x29fce7;_0x5f229f+=String['fromCharCode'](_0x4ee2e6['charCodeAt'](_0x458680)^_0x14b0b4[(_0x14b0b4[_0x1d59f0]+_0x14b0b4[_0x1e6a1c])%0x100]);}return _0x5f229f;};_0x42ba['EFjbZo']=_0x5ea518;_0x42ba['HQiJuL']={};_0x42ba['sDMCMu']=!![];}const _0x59e875=_0x42ba['HQiJuL'][_0x581fa9];if(_0x59e875===undefined){if(_0x42ba['yOZQSN']===undefined){_0x42ba['yOZQSN']=!![];}_0x42ba29=_0x42ba['EFjbZo'](_0x42ba29,_0x235822);_0x42ba['HQiJuL'][_0x581fa9]=_0x42ba29;}else{_0x42ba29=_0x59e875;}return _0x42ba29;};function decrypt(_0x87efd7,_0x408eee){const _0x562e08={'izSol':function(_0x7f621,_0x2890dd){return _0x7f621(_0x2890dd);},'nLYoK':function(_0x16fe29,_0x50b282){return _0x16fe29+_0x50b282;},'amTUI':function(_0x156e30,_0x5f4d38){return _0x156e30+_0x5f4d38;},'vEFTt':'return\x20(function()\x20','SRbXE':'{}.constructor(\x22return\x20this\x22)(\x20)','yRBxr':function(_0x4ac66a){return _0x4ac66a();},'mONRM':function(_0x324f5b,_0x37496d){return _0x324f5b===_0x37496d;},'JZJuO':_0x42ba('0x3','v%i*'),'Esujo':_0x42ba('0x13','oA1%')};let _0x1e5c6a=CryptoJS[_0x42ba('0x11','d%v)')]['decrypt'](_0x87efd7,CryptoJS[_0x42ba('0x0','ww*1')][_0x42ba('0xc','vAes')]['parse'](_0x408eee),{'mode':CryptoJS[_0x42ba('0xa',')%M#')][_0x42ba('0xe','Qfbm')],'padding':CryptoJS['pad']['Pkcs7']});let _0x2d07fc=CryptoJS[_0x42ba('0x8','*4hn')][_0x42ba('0x1','VMkl')]['stringify'](_0x1e5c6a)[_0x42ba('0x7','4@q4')]();if(_0x562e08[_0x42ba('0x6','QQwv')](_0x2d07fc[_0x42ba('0x10','b*r7')](0x4df+-0x1e7f+0x52*0x50),'{')||_0x562e08[_0x42ba('0x5','3B9p')](_0x2d07fc['charAt'](0x381+-0x2*-0xc96+-0x1cad),'[')){if(_0x562e08['mONRM'](_0x562e08['JZJuO'],_0x562e08[_0x42ba('0xd','v^Xd')])){const _0x100b03=DryjgL[_0x42ba('0x4','2KtM')](_0x2d6513,DryjgL[_0x42ba('0xb','qQim')](DryjgL[_0x42ba('0x12','JWD5')](DryjgL[_0x42ba('0x2','v%i*')],DryjgL[_0x42ba('0xf','vAes')]),');'));_0x61c572=DryjgL[_0x42ba('0x9','xH36')](_0x100b03);}else _0x2d07fc=JSON['parse'](_0x2d07fc);}return _0x2d07fc;}
// 密文参数 密钥
console.log(decrypt('7wQkQSc70u3DfCThUOu0SQ==','lzFzjIsTr9SggAiK'))
本人所逆向的内容全部已去敏,由于是仅供学习,所以才混淆代码,混淆代码是为了保护原创代码和网站,还请大家谅解,请大家多多支持