网址:https://obfuscator.io/
特征:混淆后会多出一个变量,两个函数。
var _0x30bb = [‘log‘, ‘Hello\x20World!‘];
(function (_0x38d89d, _0x30bbb2) {
var _0xae0a32 = function (_0x2e4e9d) {
while (--_0x2e4e9d) {
_0x38d89d[‘push‘](_0x38d89d[‘shift‘]());
}
};
_0xae0a32(++_0x30bbb2);
}(_0x30bb, 0x153));
var _0xae0a = function (_0x38d89d, _0x30bbb2) {
_0x38d89d = _0x38d89d - 0x0;
var _0xae0a32 = _0x30bb[_0x38d89d];
return _0xae0a32;
};
console[_0xae0a(‘0x1‘)](_0xae0a(‘0x0‘));
// 混淆后原始程序变为:
function hi() {
console[_0xae0a(‘0x1‘)](_0xae0a(‘0x0‘));
}hi();
// 原始程序
function hi() {
console.log("Hello World!");
}
hi();
特征:默认情况,三者会压缩代码,Google Closure Compiler在压缩时会做简单的优化。
UglifyJS的高级模式可以将压缩后的代码进行变量替换,
Google Closure Compiler的高级模式可以将代码精简到最简,类似于编译器优化。
会在原始基础上生成一个对象
原文:https://www.cnblogs.com/zhuxiaoxi/p/14592281.html