特定の関数を対象にする
最適なパフォーマンスを得るには、vmTargetFunctionsMode を使って最も機密性の高いコードだけを VM 難読化します。
視聴する
Obfuscator.io: Targeting Functions in VM Obfuscation (IIFE and Comment Mode)
マークした関数だけを VM 難読化するには、comment モードを有効にします。
comment モード(推奨)
vmTargetFunctionsMode: 'comment' を設定すると、特別なコメントを付けた関数だけが VM 難読化されます。任意のネストレベルで機能します。
ライセンスチェック、認証ロジック、独自のアルゴリズムを保護しつつ、残りのコードのパフォーマンスを保つのに最適です。
/* javascript-obfuscator:vm */ コメントは、難読化ツールが受け取るコードに残っている必要があります。コンパイラー、バンドラー、ミニファイアーが先に実行される場合は、これらのコメントを残すように設定してください。コメントが削除されるとその関数は仮想化されず、マーカーが 1 つも残っていない場合は、難読化が「no functions are marked with the /* javascript-obfuscator:vm */ directive」エラーで失敗します。
root モード(デフォルト)
ルートレベルの関数だけが対象になります(Async Executor が有効な場合は、代わりに任意の深さにある最も外側の async 関数が対象になり、以下の名前リストもそれらに適用されます)。関数名で許可リストを指定するには vmTargetFunctions を、除外するには vmExcludeFunctions を使います。
名前が一致するのは、関数宣言と名前付き関数式だけです。変数に代入された関数(const checkAuth = () => {})には一致させる名前がありません。許可リストではスキップされ、拒否リストでは除外されません。そのような関数には comment モードを使ってください。
