用 javascript-obfuscator 混淆一段 JavaScript:改名、字符串数组、控制流平坦化、死代码注入等。全程浏览器本地,代码不上传。
.js。常用选项:compact(压成一行)、stringArray + stringArrayThreshold(字符串抽到数组)、stringArrayEncoding: ["base64"]、controlFlowFlattening(打乱控制流,体积和耗时显著增加)、deadCodeInjection(插垃圾代码)、disableConsoleOutput、debugProtection(反调试)。
controlFlowFlattening + deadCodeInjection 会让代码膨胀数倍、变慢,按需开。debugProtection 会在检测到开发者工具时让页面卡死,可能误伤正常用户,谨慎。相关:JS 格式化 · JS 压缩 · Base64 编解码 · HTML 格式化 · 正则测试。
混淆不是加密,只抬高逆向成本;真正的秘密不要写进前端代码。