【Plugin】Vite Javascript obfuscator
10月25日11月19日

适用于Vite环境的JavaScript混淆插件

仓库地址:vite-plugin-bundle-obfuscator

⭐️ 特性

  • ⚡ 支持 Vite 项目中的 JavaScript 混淆。
  • 🚀 多线程支持,以获得更好的性能。
  • ⚙️ 可定制的混淆器选项,以满足您的需求。
  • 🛡️ 自动排除 node_modules。
  • 📦 支持 node_modules 拆分块。

⚠️ 注意

  • 如果混淆选项stringArray为true。
    • 您的结果可能会丢失一些捆绑包(在__vite__mapDeps数组中)。
    • 我正在寻找一个准确的案例。
  • 如果打包过程中出现内存溢出。修改打包命令为:cross-env NODE_OPTIONS=--max-old-space-size=8192 VITE_CJS_IGNORE_WARNING=true vite build,其中 max-old-space-size 根据机器配置自行设置。
  • 在设置 node_modules 分包时,请把准确的包名前置。例如:["vue-router", "vue"],"vue"可以同时匹配到 vue 以及 vue-router。

🌐 在线示例

Vite - VanillaVite - VueVite - ReactVite - PReactVite - litVite - SvelteVite - SolidVite - Qwik ✦ ...

📦 安装

1# 使用npm 2npm install vite-plugin-bundle-obfuscator -D 3 4# 使用pnpm 5pnpm add vite-plugin-bundle-obfuscator -D 6 7# 使用yarn 8yarn add vite-plugin-bundle-obfuscator -D

👨‍💻 使用

  1. 使用您首选的软件包管理器安装插件。
  2. 在vite.config.js中注册插件。
  3. 自定义混淆器配置或使用默认选项。

示例:

1import vitePluginBundleObfuscator from 'vite-plugin-bundle-obfuscator'; 2 3const defaultObfuscatorConfig = { 4 excludes: [], 5 enable: true, 6 log: true, 7 autoExcludeNodeModules: false, 8 threadPool: false, 9 options: { 10 compact: true, 11 controlFlowFlattening: true, 12 controlFlowFlatteningThreshold: 1, 13 deadCodeInjection: false, 14 debugProtection: false, 15 debugProtectionInterval: 0, 16 disableConsoleOutput: false, 17 identifierNamesGenerator: 'hexadecimal', 18 log: false, 19 numbersToExpressions: false, 20 renameGlobals: false, 21 selfDefending: true, 22 simplify: true, 23 splitStrings: false, 24 stringArray: false, 25 stringArrayCallsTransform: false, 26 stringArrayCallsTransformThreshold: 0.5, 27 stringArrayEncoding: [], 28 stringArrayIndexShift: true, 29 stringArrayRotate: true, 30 stringArrayShuffle: true, 31 stringArrayWrappersCount: 1, 32 stringArrayWrappersChainedCalls: true, 33 stringArrayWrappersParametersMaxCount: 2, 34 stringArrayWrappersType: 'variable', 35 stringArrayThreshold: 0.75, 36 unicodeEscapeSequence: false, 37 } 38}; 39 40export default { 41 plugins: [ 42 // vitePluginBundleObfuscator() 43 vitePluginBundleObfuscator(defaultObfuscatorConfig) 44 ] 45};

cd ..
©2024All rights reserved by z0ffyPowered by Gossip.