VM 難読化
Highest Security
VM 難読化は最も高度なコード保護の形態です。JavaScript の関数を、出力に埋め込まれたバーチャルマシン上で動作する独自のバイトコードへと変換します。元のロジックは完全に隠され、リバースエンジニアリングの対象となる JavaScript は残りません。
このセクションの内容
非同期エグゼキュータ
VM を非同期で実行し、バイトコードの復号キーをバンドルに同梱せず実行時に取得できるようにします。
対象関数の指定
機密性の高い関数だけを選択的に VM 難読化し、パフォーマンスを最適化します。
直接 eval の挙動
直接 eval() が VM 難読化を無効にする理由と、その落とし穴を避ける方法です。
strict モードの互換性
VM が正しいバイトコードを生成できるよう strict モードを宣言します。
VM セルフディフェンディング
VM ランタイムのための改ざん検知、フック対策、エージェント対策です。
VM デバッグ保護
VM で保護されたコードのためのデバッグ対策です。
VM ドメインロック
難読化した VM コードを特定のドメインおよびサブドメインに限定します。
VM がコードを変換する仕組み
VM が何を残し何を隠すのか、そして関数名を保護する方法です。
NPM パッケージの利用
npm パッケージを使い、ビルドパイプラインから VM 難読化を適用します。
