レシピ
難読化を組み込む際によく直面する問題について、方針を示しながらエンドツーエンドで解説します。各レシピは個々のオプションを説明するのではなく、特定の目的を達成するためにオプションをどう組み合わせるかに焦点を当てています。
解決したい問題に合ったレシピを選んでください。レシピは今後も追加していく予定です。ここで扱われていない組み込みのシナリオに遭遇した場合は、ぜひお知らせください。記事として取り上げます。
このセクションの内容
ベストプラクティス
何を保護し、何をそのままにすべきか、そして難読化にできないことは何かを解説します。
HTML の難読化
Parse HTML を使って HTML ファイル内のインラインスクリプトを難読化する方法と、変更されずに残るものについて説明します。
ホスト側でのテンプレート置換
reservedNames と reservedStrings を使って、サーバーでレンダリングした値を VM 難読化された JavaScript に埋め込みます。
Bytecode Array Encoding Key
vmBytecodeArrayEncodingKey で独自の VM バイトコード暗号化キーを指定し、キーゲッターで実行時に解決します(クライアントストレージから、またはバックエンドから取得)。
VM 防御のテレメトリと反応
vmDefenseHook を使って VM の防御検知をバックエンドに報告し、vmDefenseReaction で検知カテゴリーごとの反応を調整します。
LLM の解析から関数名を隠す
VM 難読化されたコードが意味のある関数名を LLM に漏らしてしまう理由と、IIFE でラップしてその漏洩をなくす方法です。
