JavaScript 混淆加密
防止格式化係數:
花指令注入係數:
混淆對象屬性名模式:
保留的變量名:
標識符名稱生成規則:
* 標識符:指代碼中的變量名、函數名等
標識符前綴:
標識符字典:
字符串數組化比率:
字符串數組索引類型:
轉換字符串數組調用比率:
字符串數組封裝數量:
字符串數組封裝類型:
字符串數組封裝參數最大數量:
字符串數組編碼類型:
拆分字符串的塊長度:
強制轉換字符串:
保留的字符串:
調試保護間隔 (ms):
目標運行環境:
隨機種子:
白名單域名:
非白名單域名自動跳轉 URL:
Source Map 模式:
Source Map 基礎 URL:
Source Map 文件名:
配置項 | 說明 | 備註 |
---|---|---|
壓縮成一行 | 將混淆後的代碼壓縮爲一行,減少可讀性,增加調試難度。 | 如果需要進行調試,可以禁用。 |
簡化代碼結構 | 通過移除不必要的結構和優化代碼來簡化代碼。 | 在複雜腳本中禁用可能導致代碼錯誤。 |
防止格式化 | 添加反格式化措施,使代碼難以美化或重新格式化。 | 需要設置 防止格式化係數 (默認:0.75)。 |
花指令注入 | 注入死代碼(不可達代碼)以迷惑逆向工程師。 | 需要設置 花指令注入係數 (默認:0.4)。 |
混淆對象屬性名 | 重命名對象屬性名,使代碼更難理解。 | 使用 安全 模式以避免代碼錯誤。不安全 模式可能導致運行時錯誤。 |
混淆全局變量和函數名 | 重命名全局變量和函數名,隱藏其用途。 | 如果全局變量被外部引用,可能會破壞代碼。 |
保留的變量名 | 指定不應混淆的變量名(例如 ^someVariable 或正則表達式)。 | 適用於保留關鍵變量名。 |
標識符名稱生成規則 | 設置混淆後變量名的生成規則(例如十六進制、字典模式、簡化模式)。 | 十六進制:生成使用十六進制圖案隨機標識符的名稱(如:0xabc123),簡化模式:使用短字符名稱 (如: a, b, c等等)。 |
標識符前綴 | 爲所有混淆後的標識符添加前綴(例如 a_ )。 | 可選。適用於多文件項目以避免衝突。 |
標識符字典 | 提供混淆後標識符的自定義名稱列表(每行一個)。 | 僅在 標識符名稱生成規則 中選擇 字典模式 時生效。 |
字符串數組化 | 將字符串提取到數組中並用引用替換。 | 默認啓用。如果性能是關鍵,可以禁用。 |
字符串數組化比率 | 設置字符串被添加到數組中的概率(0 到 1)。 | 默認:0.75。較低的值會降低混淆強度但提高性能。 |
字符串數組旋轉 | 隨機偏移字符串數組以隱藏字符串順序。 | 默認啓用。禁用可提高性能。 |
字符串數組亂序 | 隨機打亂字符串數組以增加重構難度。 | 默認啓用。禁用可提高性能。 |
字符串數組索引偏移 | 爲字符串數組索引添加隨機偏移以隱藏訪問模式。 | 默認啓用。禁用可提高性能。 |
字符串數組索引類型 | 設置字符串數組索引的格式(例如十六進制數或字符串)。 | 默認:十六進制數 。選擇 十六進制數值字符串 可增強混淆強度。 |
轉換字符串數組調用 | 轉換對字符串數組的調用以增加檢測難度。 | 需要設置 轉換字符串數組調用比率 (默認:0.5)。 |
字符串數組封裝數量 | 設置字符串數組的封裝層數。 | 默認:1。增加層數可增強混淆強度但降低性能。 |
字符串數組封裝類型 | 設置封裝類型(例如 變量 或 函數 )。 | 選擇 函數 可增強混淆強度但降低性能。 |
字符串數組封裝參數最大數量 | 設置字符串數組封裝的最大參數數量。 | 默認:2。增加數量可增強混淆強度但降低性能。 |
字符串數組鏈式調用 | 啓用字符串數組封裝之間的鏈式調用。 | 默認啓用。禁用可提高性能。 |
字符串數組編碼類型 | 使用 base64 或 rc4 編碼字符串數組值。 | 選擇 rc4 可增強混淆強度但降低性能。 |
拆分字符串 | 將字符串拆分爲指定長度的塊以隱藏內容。 | 設置 拆分字符串的塊長度 控制塊大小(默認:10)。 |
使用 Unicode 轉義序列 | 將字符串轉換爲 Unicode 轉義序列以隱藏內容。 | 會顯著增加代碼大小。僅適用於小型腳本。 |
強制轉換字符串 | 強制轉換特定字符串(例如 ^some *string *or RegExp )。 | 適用於針對特定字符串進行混淆。 |
保留的字符串 | 指定不應轉換的字符串(例如 ^some *string *or RegExp )。 | 適用於保留關鍵字符串。 |
數字轉換爲表達式 | 將數字轉換爲算術表達式以隱藏其值。 | 可能增加代碼大小並降低性能。 |
轉換 Object 的 Key 值 | 混淆對象鍵值以增加代碼理解難度。 | 如果對象鍵值被外部引用,可能會破壞代碼。 |
禁用控制檯輸出 | 在混淆後的代碼中禁用 console.log 等函數。 | 適用於生產環境。 |
自我防禦 | 如果代碼被格式化或修改,使其無法運行。 | 強制啓用 壓縮成一行 模式。使用時需謹慎。 |
調試保護 | 通過無限循環或崩潰阻止調試。 | 設置 調試保護間隔 控制保護頻率(建議設置爲2000~4000毫秒)。 |
忽略 Import | 防止混淆 import 語句。 | 適用於保留模塊導入。 |
目標運行環境 | 設置混淆代碼的目標環境(例如瀏覽器、Node.js)。 | 選擇 瀏覽器(不使用 eval 函數) 以避免使用 eval 。 |
隨機種子 | 設置隨機種子以生成可重複的混淆結果。 | - |
白名單域名 | 限制代碼僅在指定域名下運行(例如 www.example.com )。 | 可指定多個域名,每行一個。 |
非白名單域名自動跳轉 URL | 指定在非白名單域名下運行時跳轉的 URL。 | 默認:about:blank 。 |
啓用 Source Map | 生成 Source Map 以調試混淆後的代碼。 | 適用於調試,但可能暴露原始代碼結構。 |
Source Map 模式 | 設置 Source Map 生成模式(例如內聯或分離文件)。 內聯——在混淆代碼的末尾添加source map; 分離——使用獨立的source Map文件 //# sourceMappingUrl=file.js.map。 | 選擇 內聯 簡化操作,或選擇 分離 用於生產環境。 |
Source Map 基礎 URL | 設置 Source Map 文件的基礎 URL(例如 http://localhost:3000 )。 | 在 Source Map 模式 爲 分離 時必須設置。 |
Source Map 文件名 | 設置 Source Map 文件的名稱(例如 example )。 | 在 Source Map 模式 爲 分離 時必須設置。 |