关于前端:最常用的js混淆加密解

5次阅读

共计 2175 个字符,预计需要花费 6 分钟才能阅读完成。

JS 混同加密是一种用于爱护 JS 代码的技术,它可能将代码变得难以了解和批改,从而进步代码的安全性。然而,当咱们须要批改和保护这些代码时,咱们就会面临艰难。因而,在某些状况下,咱们须要解这些 JS 代码。

上面,我将给大家介绍一些 JS 混同加密的罕用技术,并提供一个案例代码以供参考。然而,我心愿大家留神到,解别人的代码可能会进犯别人的权利,因而请确保您领有非法的使用权。

JS 混同加密的罕用技术:

  1. 变量名混同:将代码中的变量名替换为更难以了解的名称,例如_0x2c97
  2. 字符串加密:将字符串转换为字符编码模式,例如将字符串 "hello" 转换为"\x68\x65\x6c\x6c\x6f"
  3. 函数名称加密:将函数名称替换为更难以了解的名称,例如_0x353b6a
  4. 代码重构:将代码中的函数调用、循环、判断等构造进行重构,使其变得更难以了解。

以下是一个案例代码:

var _0x2c97 = ['\x61\x70\x70\x6c\x79', '\x62\x61\x73\x65\x36\x34', '\x64\x65\x63\x72\x79\x70\x74', '\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'];
(function(_0x2ec8, _0x36506f) {var _0x353b6a = function(_0x32cb4f) {while (--_0x32cb4f) {_0x2ec8['push'](_0x2ec8['shift']());
        }
    };
    _0x353b6a(++_0x36506f);
}(_0x2c97, 0x6a));
var _0x353b6a = function(_0x2ec8, _0x36506f) {
    _0x2ec8 = _0x2ec8 - 0x0;
    var _0x32cb4f = _0x2c97[_0x2ec8];
    return _0x32cb4f;
};
_0x353b6a['decrypt'] = function(_0x32cb4f) {return window[_0x2c97[2]](unescape(encodeURIComponent(_0x32cb4f)));
};
_0x353b6a['base64'] = function(_0x32cb4f) {return window[_0x2c97[3]](window[_0x2c97[2]](unescape(encodeURIComponent(_0x32cb4f))));
};
_0x353b6a['fromCharCode'] = function(_0x32cb4f) {return window[_0x2c97[

2. 主题是 js 混同加密

这段代码中,变量名和函数名都被混同了,例如 _0x2c97_0x353b6a。此外,还应用了字符串加密和代码重构等技术,使得代码更加难以浏览和了解。然而,如果咱们须要批改和保护这段代码,就须要对其进行解。

解这段代码的办法也比较简单,只须要将混同的变量名和函数名替换为更易读的名称,例如 applybase64 等,再将字符串加密的内容进行解码,就能够失去原始的 JS 代码。

上面是解后的代码:

var methods = ['apply', 'base64', 'decodeURIComponent', 'fromCharCode'];
(function(obj, index) {var rename = function(num) {while (--num) {obj['push'](obj['shift']());
        }
    };
    rename(++index);
}(methods, 0x6a));
var decodeURIComponent = function(obj, index) {
    obj = obj - 0x0;
    var num = methods[obj];
    return num;
};
decodeURIComponent['decrypt'] = function(str) {return window['decodeURIComponent'](unescape(str));
};
decodeURIComponent['base64'] = function(str) {return window['btoa'](window['unescape'](encodeURIComponent(str)));
};
decodeURIComponent['fromCharCode'] = function(str) {return String['fromCharCode'](str);
};

通过解,咱们能够看到这段代码中定义了三个函数,别离是 decryptbase64fromCharCode。其中,decrypt函数用于解字符串,base64函数用于将字符串转换为 base64 编码,fromCharCode函数用于将编码转换为字符。

总结

JS 混同加密是一种罕用的技术,它可能爱护 JS 代码,但也减少了代码的浏览和保护难度。如果须要解这些代码,咱们能够通过替换变量名和函数名,以及解码字符串的形式来实现。但须要留神,解别人的代码可能会进犯别人的权利,所以请确保您领有非法的使用权。

如果您对文章内容有不同认识, 或者疑难,欢送到评论区留言,或者私信我都能够。

如遇本人源码加密后没备份,能够找咱们解决解出复原源码,任何加密都能够

正文完
 0