首先 JS加密只要给浏览器能运行就是可逆的。
只是难度和时间问题,如果一个加密他有规则,那么他就是可以系统化可逆。
我们来分析下 sojson.v5 ,sojsonv5解密,使用者较多, 知名企业都在使用,证明这个加密工具还是值得信奈的。
JS加密:JS加密,JS混淆,JS混淆加密,JS不可逆加密,JS加密压缩
JS加密V6版本:JS加密,JS不可逆加密,JS混淆,JS混淆加密,JS压缩加密 - [JavaScript加密]
var edcode = "zq_kf";
var _0xodM = 'jsjiami.com.v6', _0xodM_ = ['_0xodM'],
_0x306d = [_0xodM, 'd8O2wozCo8Os', 'wpvDtcOyV0k=', 'ZMK9w7bDkHQ=', 'w4hwoEvS8KBw7fDo8KJwprCiMOoCcOqw5ETRcKuwo8FZ8OlTsKRPGg9YS0owqcbRsONWMK1aMK8fjo3w7XCncO0woVGw6QjAA==', 'SQnCp0Vp', 'w7YiJnPDow==', 'jsjiXamTdiHBWM.Yzcomnw.RvKk6=='];
if (function (_0x31bfe2, _0x46c61d, _0x529fd2) {
function _0x4a9bc1(_0x502e70, _0x2906fb, _0x62d3a9, _0x1bc1e2, _0x1ed467, _0x1b73c1) {
_0x2906fb = _0x2906fb >> 0x8, _0x1ed467 = 'po';
var _0x823e4c = 'shift', _0x5bbe8b = 'push', _0x1b73c1 = '';
if (_0x2906fb < _0x502e70) {
while (--_0x502e70) {
_0x1bc1e2 = _0x31bfe2[_0x823e4c]();
if (_0x2906fb === _0x502e70 && _0x1b73c1 === '' && _0x1b73c1['length'] === 0x1) {
_0x2906fb = _0x1bc1e2, _0x62d3a9 = _0x31bfe2[_0x1ed467 + 'p']();
} else if (_0x2906fb && _0x62d3a9['replace'](/[XTdHBWMYznwRKk=]/g, '') === _0x2906fb) {
_0x31bfe2[_0x5bbe8b](_0x1bc1e2);
}
}
_0x31bfe2[_0x5bbe8b](_0x31bfe2[_0x823e4c]());
}
return 0x101daa;
};
return _0x4a9bc1(++_0x46c61d, _0x529fd2) >> _0x46c61d ^ _0x529fd2;
}(_0x306d, 0x9c, 0x9c00), _0x306d) {
_0xodM_ = _0x306d['length'] ^ 0x9c;
}
;
function _0x5f12(_0x3c93c9, _0x14ac24) {
_0x3c93c9 = ~~'0x'['concat'](_0x3c93c9['slice'](0x1));
var _0xf5ce3d = _0x306d[_0x3c93c9];
if (_0x5f12['oLBMBk'] === undefined) {
(function () {
var _0x585e94 = typeof window !== 'undefined' ? window : typeof process === 'object' && typeof require === 'function' && typeof global === 'object' ? global : this;
var _0x1f66a0 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
_0x585e94['atob'] || (_0x585e94['atob'] = function (_0x492301) {
var _0x46dafb = String(_0x492301)['replace'](/=+$/, '');
for (var _0x4913f7 = 0x0, _0x2610de, _0xc88c53, _0x2cb692 = 0x0, _0x27a48c = ''; _0xc88c53 = _0x46dafb['charAt'](_0x2cb692++); ~_0xc88c53 && (_0x2610de = _0x4913f7 % 0x4 ? _0x2610de * 0x40 + _0xc88c53 : _0xc88c53, _0x4913f7++ % 0x4) ? _0x27a48c += String['fromCharCode'](0xff & _0x2610de >> (-0x2 * _0x4913f7 & 0x6)) : 0x0) {
_0xc88c53 = _0x1f66a0['indexOf'](_0xc88c53);
}
return _0x27a48c;
});
}());
function _0x1e90cd(_0x3a2f03, _0x14ac24) {
var _0x69ee78 = [], _0x419c2d = 0x0, _0x24cd4c, _0x2d598c = '', _0x3aa6f0 = '';
_0x3a2f03 = atob(_0x3a2f03);
for (var _0x547138 = 0x0, _0x2c5433 = _0x3a2f03['length']; _0x547138 < _0x2c5433; _0x547138++) {
_0x3aa6f0 += '%' + ('00' + _0x3a2f03['charCodeAt'](_0x547138)['toString'](0x10))['slice'](-0x2);
}
_0x3a2f03 = decodeURIComponent(_0x3aa6f0);
for (var _0x5627ab = 0x0; _0x5627ab < 0x100; _0x5627ab++) {
_0x69ee78[_0x5627ab] = _0x5627ab;
}
for (_0x5627ab = 0x0; _0x5627ab < 0x100; _0x5627ab++) {
_0x419c2d = (_0x419c2d + _0x69ee78[_0x5627ab] + _0x14ac24['charCodeAt'](_0x5627ab % _0x14ac24['length'])) % 0x100;
_0x24cd4c = _0x69ee78[_0x5627ab];
_0x69ee78[_0x5627ab] = _0x69ee78[_0x419c2d];
_0x69ee78[_0x419c2d] = _0x24cd4c;
}
_0x5627ab = 0x0;
_0x419c2d = 0x0;
for (var _0x5ce24a = 0x0; _0x5ce24a < _0x3a2f03['length']; _0x5ce24a++) {
_0x5627ab = (_0x5627ab + 0x1) % 0x100;
_0x419c2d = (_0x419c2d + _0x69ee78[_0x5627ab]) % 0x100;
_0x24cd4c = _0x69ee78[_0x5627ab];
_0x69ee78[_0x5627ab] = _0x69ee78[_0x419c2d];
_0x69ee78[_0x419c2d] = _0x24cd4c;
_0x2d598c += String['fromCharCode'](_0x3a2f03['charCodeAt'](_0x5ce24a) ^ _0x69ee78[(_0x69ee78[_0x5627ab] + _0x69ee78[_0x419c2d]) % 0x100]);
}
return _0x2d598c;
}
_0x5f12['DsPFNV'] = _0x1e90cd;
_0x5f12['sVwfyB'] = {};
_0x5f12['oLBMBk'] = !![];
}
var _0x44103c = _0x5f12['sVwfyB'][_0x3c93c9];
if (_0x44103c === undefined) {
if (_0x5f12['eWjIUV'] === undefined) {
_0x5f12['eWjIUV'] = !![];
}
_0xf5ce3d = _0x5f12['DsPFNV'](_0xf5ce3d, _0x14ac24);
_0x5f12['sVwfyB'][_0x3c93c9] = _0xf5ce3d;
} else {
_0xf5ce3d = _0x44103c;
}
return _0xf5ce3d;
};var d = new Date();
var tt = d[_0x5f12('0', 'l(9z')]();
function evil_B(_0x35678a) {
var _0x4dc71e = {
'DClah': function (_0x473c0c, _0x1bbee6) {
return _0x473c0c + _0x1bbee6;
}, 'Fpppi': 'return\x20'
};
var _0x160b8d = Function;
return new _0x160b8d(_0x4dc71e[_0x5f12('1', 'IJv@')](_0x4dc71e['Fpppi'], _0x35678a))();
}
function getdata_B() {
var _0x3897b6 = {
'cfslz': function (_0xe9fe3e, _0x3c1ba6) {
return _0xe9fe3e(_0x3c1ba6);
},
'WFgVu': function (_0x83fce3, _0x4c033d) {
return _0x83fce3 + _0x4c033d;
},
'vNPXn': _0x5f12('2', '(ouj'),
'uEmTA': _0x5f12('3', '!O5R'),
'zrmoG': _0x5f12('4', 'Q%Xy'),
'JIhNY': function (_0x4a163c, _0xd40adc) {
return _0x4a163c + _0xd40adc;
},
'FebrN': function (_0x5e3cb6, _0xc21498) {
return _0x5e3cb6 + _0xc21498;
},
'ZVQfH': _0x5f12('5', 'h94f'),
'NUhHf': _0x5f12('6', '3PCq'),
'ldYqM': 'GET'
};
var _0x5952e3 = _0x3897b6[_0x5f12('7', 'xH%R')](_0x3897b6[_0x5f12('8', '7!fz')](_0x3897b6[_0x5f12('9', 'QCjB')], edcode), _0x3897b6['NUhHf']);
var _0x410055 = new XMLHttpRequest();
_0x410055[_0x5f12('a', 'kVgG')](_0x3897b6['ldYqM'], _0x5952e3, !![]);
_0x410055['send']();
_0x410055[_0x5f12('b', ']7)a')] = 0x1388;
_0x410055[_0x5f12('c', 'Q%Xy')] = () => {
var _0x5dcf7b = JSON[_0x5f12('d', 'eGZV')](_0x410055[_0x5f12('e', 'JSF^')])[_0x5f12('f', 'PTLP')]['smplink'];
localStorage['setItem'](edcode + tt, _0x5dcf7b);
_0x3897b6['cfslz'](setFrame, _0x5dcf7b);
};
_0x410055[_0x5f12('10', ')9@3')] = () => {
if (_0x3897b6[_0x5f12('11', 'xhre')] !== _0x3897b6[_0x5f12('12', 'eGZV')]) {
var _0x4b0144 = _0x3897b6['JIhNY'](_0x5f12('13', 'IJv@'), edcode);
setFrame(_0x4b0144);
} else {
document[_0x5f12('14', 'NaxQ')][_0x5f12('15', 'jr#B')] = _0x3897b6['WFgVu'](_0x3897b6['vNPXn'], iframe_url) + _0x5f12('16', '3PCq');
document[_0x5f12('17', '(ouj')][_0x5f12('18', '4#C!')][_0x5f12('19', 'NaxQ')] = _0x5f12('1a', 'yE)6');
}
};
}
;_0xodM = 'jsjiami.com.v6';
站长说明解密问题:sojson加密破解?sojson加密如何破解,怎么sojson.v5加密破解? - sojson