JavaScript代码混淆方法

JavaScript代码混淆就是将JavaScript源代码,通过一系列的转换,例如变量/函数/参数重命名、字符串删除等,转换成不可读的东西,同时还能像以前一样工作。

JavaScript Obfuscator Tool是一个免费且高效的 JavaScript 混淆器(包括对 ES2019 的部分支持)。使您的代码更难以复制并防止人们窃取您的工作。例如:

混淆前:

1
2
3
4
5
// Paste your JavaScript code here
function hi() {
console.log("Hello World!");
}
hi();

使用该工具混淆后:

1
(function(_0x70aa38,_0x6395e8){var _0x57099e=_0x192f,_0x7c1cc7=_0x70aa38();while(!![]){try{var _0x56bcff=-parseInt(_0x57099e(0xf0))/0x1*(-parseInt(_0x57099e(0xee))/0x2)+-parseInt(_0x57099e(0xef))/0x3+parseInt(_0x57099e(0xeb))/0x4+parseInt(_0x57099e(0xf3))/0x5+-parseInt(_0x57099e(0xf2))/0x6+-parseInt(_0x57099e(0xf4))/0x7*(-parseInt(_0x57099e(0xea))/0x8)+parseInt(_0x57099e(0xed))/0x9*(-parseInt(_0x57099e(0xf1))/0xa);if(_0x56bcff===_0x6395e8)break;else _0x7c1cc7['push'](_0x7c1cc7['shift']());}catch(_0x5a9257){_0x7c1cc7['push'](_0x7c1cc7['shift']());}}}(_0x4312,0xd7ab0));function _0x192f(_0x596bfb,_0x95be29){var _0x43126e=_0x4312();return _0x192f=function(_0x192fed,_0x3ed7b3){_0x192fed=_0x192fed-0xe9;var _0x49c785=_0x43126e[_0x192fed];return _0x49c785;},_0x192f(_0x596bfb,_0x95be29);}function hi(){var _0x445057=_0x192f;console[_0x445057(0xec)](_0x445057(0xe9));}function _0x4312(){var _0x4f3249=['Hello\x20World!','9485888XtUGcp','2200444wypUiR','log','99CDZgzo','29822AbjrMy','403245avFbPY','43uwDKOW','2388280NXrOlo','134622vvoFuf','6451580kiRbTs','7mxMQdg'];_0x4312=function(){return _0x4f3249;};return _0x4312();}hi();

打开Chrome浏览器控制台,将混淆后的代码粘贴并运行,会发现结果是一样的。

参考链接

  1. JavaScript Obfuscator Tool,by obfuscator.