このツールに問題がありますか?
「JavaScript難読化 オンライン」について
このツールは JavaScript を機能を保ったまま難読化します。変数名を短い/ランダムな識別子に変え、文字列リテラルを符号化、制御フローのフラット化、デッドコード挿入により静的解析を妨げます。
難読化はセキュリティの代替ではありません——時間と動機があれば解読は可能です。ただしビジネスロジックのカジュアルな閲覧防止、ライセンス回避の遅延、有料スクリプトのコピペ盗用の抑止には有効。
ファイルサイズが増え実行速度が落ちる場合があります。本番で要デバッグのコードは難読化せず、Source Map で元コードへの対応関係を残してください。
このツールの使い方
JavaScript ソースを難読化して読みにくくする手順
JS を貼り付け
「JS」欄にソースを貼り付け。難読化器は標準 ES2020+ 構文に対応。モジュール import は構造的に温存されるため、出力もモジュールとして読み込めますが、中身は別物に見えます。
「実行」
結果は `obfuscated` のみ。識別子は短い/ランダム文字列にリネーム、文字列リテラルはルックアップテーブルへ抽出、デッドコードは並び替え、安全な場面では制御フロー平坦化も実施。
セキュリティではない理由
難読化は本気のリバースエンジニアの速度を落とすだけで、コードを秘密にはしません。ブラウザで動く以上、デバッガで追えます。本当の秘密(API キー、業務ロジック)はサーバ側で。配信済み JS の難読化は時間稼ぎに過ぎません。
副作用の注意点
難読化後の JS は元より大きく遅く、タイトループで 30〜80% 遅くなりがち。別途マップを生成しないと source-map デバッグも壊れます。本番ビルドは難読化より minify を優先しましょう。