JavaScript難読化ツール
control-flow flattening、string array、dead-code injection、identifier manglingを使ってJavaScriptコードを難読化します。3種類のプリセットを用意し、ブラウザ上で即座に処理できます。
処理中…
使い方
- 1 左側のボックスにJavaScriptのソースコードを貼り付けます。
- 2 プリセットを選択します — low(軽度の難読化)、medium(デフォルト)、high(control flow + dead codeを含む強力な難読化)。
- 3 Obfuscateを押します。結果をコピーするか、ダウンロードしてください。
このツールを使う理由
- 多くのSaaSビルダー系プラットフォームで採用されているオープンソースライブラリjavascript-obfuscatorをベースに構築しています。
- ライブラリは遅延読み込み(lazy-load)されるため、Obfuscateを押すまではページが軽量なままです。
- 3種類のプリセット構成に加え、各処理ステップを細かくオン/オフできるオプションを備えています。
- 完全にクライアントサイドで完結 — ソースコードがブラウザの外に出ることはありません。
よくある質問
難読化したコードは本当に読めなくなるのですか?
格段に読みにくくはなりますが、完全に解読不可能になるわけではありません — 根気のある攻撃者であればリバースエンジニアリングされる可能性があります。難読化に加えて、適切なライセンス管理、サーバー側でのバリデーション、minificationを組み合わせることをおすすめします。
難読化ではなくminify(圧縮)した出力が欲しい場合は?
<a class="underline" href="/javascript-minifier">JavaScript Minifier</a>をお試しください — 同じ遅延読み込みの仕組みを採用しており、より高速に処理でき、圧縮以外の名前のmangling(変更)は行いません。
難読化したコードを再フォーマットしたい場合は?
<a class="underline" href="/javascript-formatter">JavaScript Formatter</a>を使ってコードを整形し、構造を確認してください。
JavaScript難読化ツール とは?
JavaScript難読化ツール(JavaScript Obfuscator)は、JavaScriptのソースコードを機能的には同等でありながら格段に読みにくいバージョンへ変換するツールです。control-flow flattening、string array extraction、dead-code injection、identifier manglingといった手法を適用し、あらかじめ用意された3種類のプリセットも提供します。処理はすべてブラウザ内で完結するため、ソースコードはクライアント側で処理され、サーバーへアップロードされることは一切ありません。
機能
プリセットの強度
低・中・高のプリセットは、可読性に対する保護効果とランタイムのオーバーヘッドとのバランスを取ります。
名前・文字列のマングリング
識別子の名前を変更し、文字列リテラルをエンコードされた配列に移動します。
限界について正直に
難読化は何気ない閲覧を抑止しますが、暗号化ではなく、秘密情報を隠すものでもありません。
100%プライベート
クライアントサイドで実行されるため、ソースコードがブラウザの外に出ることはありません。
例
Input
function greet(n){ return "Hello, " + n; }
Output
var _0x3f2a=["Hello, "];function greet(_0x1b){return _0x3f2a[0]+_0x1b;} (representative — exact output varies by preset and library version)
主な用途
-
1
安易なコピーを防ぐ
クライアントサイドのJavaScriptを読みにくくし、そのままコピーされにくくします。
-
2
ロジックを軽く保護する
ウィジェットやスニペットの内部構造を理解するのに必要な手間を増やします。
-
3
圧縮とマングリング
コードの圧縮と名前のマングリングを組み合わせ、より小さく不透明な出力にします。
ZerethonのJS難読化ツールは、javascript-obfuscatorライブラリを使用して、JavaScriptを機能的に同等でありながら読みにくいコードに変換します。処理はすべてブラウザ内で完結します。低/中/高のプリセットで、文字列配列のエンコード、制御フローの平坦化(control-flow flattening)、デッドコードの注入(dead-code injection)を制御できます。難読化はコードのリバースエンジニアリングにかかる手間を増やしますが、暗号化や本当の意味でのセキュリティではありません — 根気のある読み手であれば、依然として動作を解析できます。何もアップロードされません。
- カテゴリ
- 開発者
- 料金
- 無料
- プライバシー
- ブラウザベース
- 登録
- 不要
参考文献
- javascript-obfuscator — GitHub
- Minification(圧縮) — MDN Web Docs 用語集 — MDN
プライバシー
明記されない限り、データがブラウザの外に送信されることはありません。JavaScript難読化ツール は完全にクライアント側で動作します — サーバーへのアップロードなし、ログなし、入力内容のトラッキングなし。
関連ツール
JSONフォーマッター
JSONをオンラインで整形・検証・圧縮。無料・登録不要 — データはブラウザの外へ送信されません。
ツールを開くSQLフォーマッター
SQLクエリをオンラインで整形 — MySQL、PostgreSQL、SQLite、SQL Server、Oracle、BigQueryのコードをきれいに整えます。
ツールを開くUUID生成ツール
オンラインでUUIDを生成 — v1、v4、v7、Nilに対応。最大10,000件の一括生成が可能。無料・登録不要。
ツールを開くパスワードジェネレーター
暗号学的に安全な強力なランダムパスワードを生成します。長さと文字セットを自由にカスタマイズ可能 — すべてブラウザ内で完結します。
ツールを開くZerethon Social で作成・共有・成長しよう
無料登録。ポイントを獲得し、実績を集め、世界中のクリエイターとつながりましょう。