入力

難読化された出力

JavaScriptオブフスケーターとは?

JavaScriptオブフスケーターはJavaScriptを読みにくく、逆解析を困難にします。変数名のマングル、文字列のエンコード、制御フローの難読化を行います。クライアント側のコード保護に使用します。ECMAScript仕様が言語を定義しています。

このツールは完全にブラウザ内で動作します。サーバーには何も送信されません。JSを貼り付けるかファイルをアップロードすると、難読化された出力が得られます。難読化解除にはJavaScriptデオブフスケーターを、ミニファイのみにはJavaScriptミニファイアーを、フォーマットにはJavaScriptフォーマッターを使用してください。

このツールの使い方

1

貼り付けまたはアップロード

左パネルにJavaScriptを貼り付けるか、.jsまたは.txtファイルをアップロードしてください。サンプルで例のコードを読み込めます。クリアでリセットできます。

2

難読化された出力を表示

右パネルに難読化されたコードが表示されます。ロジックは保たれますが、読みにくく逆解析が困難になります。

3

コピーまたはダウンロード

難読化されたコードを取得するにはコピーまたはダウンロードを使用してください。デプロイ前にテストしてください。難読化はパフォーマンスに影響することがあります。

JavaScriptオブフスケーターの例

JavaScriptの難読化例です(変数名がマングルされます)。

例:MSISDN検証

入力(読みやすい):

入力

難読化された出力(名前がマングル):

出力

JavaScriptオブフスケーターが役立つ場面

クライアント側のロジックを保護する、アルゴリズムを隠す、軽いコピーを防ぐ場合に、難読化で難易度を上げます。セキュリティではありません。決意したユーザーは逆解析できます。サイズ削減にはJavaScriptミニファイアーを使用してください。webpackrollupなどのビルドツールで難読化コードをバンドルできます。ソースマップでデバッグを参照してください。

よくある質問

データはプライベートですか?

はい。難読化は完全にブラウザ内で行われます。データはサーバーに送信されません。

難読化でコードは壊れますか?

適切な難読化は動作を保ちます。出力をテストしてください。エッジケースやevalベースのコードは影響を受けることがあります。

難読化されたコードは元に戻せますか?

はい。難読化は困難にするだけで、不可能ではありません。JavaScriptデオブフスケーターでどれだけ復元できるか確認できます。

オブフスケーターとミニファイアーの違いは?

ミニファイアーはコードを縮小します。オブフスケーターは読みにくくします。難読化はファイルサイズを増やすことが多いです。

パフォーマンスはどうですか?

強い難読化は実行を遅くすることがあります。本番では控えめな設定を使用し、デプロイ前にテストしてください。

関連ツール

ECMAScriptMDN JavaScriptTerserwebpackESLint