Tiny Online Tools logoTiny Online Toolssearchツールを検索…grid_viewすべてのツール
ホームchevron_rightリバースエンジニアリングツールchevron_rightJavaScript 難読化ツールJavaScript 難読化ツール

JavaScript 難読化ツール

ローカル変数の名前を変更し、文字列リテラルを隠し、制御フローを平坦化します。すべてブラウザ内で完結し、アップロードは一切ありません。

難読化レベル基本中間強力局所的であると証明された変数の名前を変更し、空白とコメントを削除します。
infoこれはカジュアルな閲覧を妨げるための手段であり、本物のセキュリティや暗号化ではなく、秘密情報を保護するものでもありません。すべてブラウザ内でローカルに実行され、何もアップロードされません。

関連ツール

JavaScript 難読化解除ヘルパー

JavaScript 難読化解除ヘルパー

文字列配列の参照展開、エスケープのデコード、定数畳み込み、無効な分岐の削除、角括弧からドット記法への変換など、よくある静的難読化パターンを元に戻します。

PDF JavaScript 検査

PDF JavaScript 検査

PDF の中のスクリプトをすべて見つけます。文書アクション、ページと注釈のイベント、フォームの計算まで。実行はせずに読めます。

JavaScript フォーマッター

JavaScript フォーマッター

JavaScript コードを読みやすく整形します。

JS 圧縮ツール

JS 圧縮ツール

コメントと空白を削除して JavaScript を圧縮します。

Capitalize テキスト

Capitalize テキスト

各単語の最初の文字を大文字にします。

パスワード一覧生成ツール

パスワード一覧生成ツール

複数の安全なパスワードをまとめて生成します。

PDF 構造化データ抽出ツール

PDF 構造化データ抽出ツール

PDF を構造化 JSON(見出し・段落・リスト・表・画像)に変換します。タグ構造ツリー、またはレイアウト推定を情報源にします。

apps

もっと見る

無料オンラインツールの全コレクションを見る。

このツールの機能

この難読化ツールは、acornでコードを解析して構文木を組み立て、いくつかの構造変換を適用し、astringでJavaScriptを再生成します。すべてブラウザ内で処理され、貼り付けた内容がサーバーに送信されることはありません。

ここでの「難読化」の意味を明確にしておきます:これはカジュアルな閲覧を妨げるための手段であり、暗号化でも本物のセキュリティでもありません。コードを実行して調べる意志のある人(あるいは単に少し時間をかけて読む人)は、その挙動を復元できます。ブラウザに配信されたJavaScriptは常にダウンロード・実行が可能であり、どんな変換もその事実は変えられません。このツールは何気ないコピー&ペーストを難しくするために使い、秘密情報の保護には使わないでください。難読化の有無にかかわらず、APIキーや認証情報などの本物の秘密をクライアント側のJavaScriptに置かないでください。

3つのレベル

基本は、ツールが局所的な束縛であると証明できる識別子すべての名前を変更します——関数のパラメータ、および関数内のvar/let/const宣言です——これは推測ではなく、実際の字句スコープ解析によるものです。グローバルまたは外部参照に解決されるものは意図的にそのまま残されます。名前を変更すればコードが壊れるためです。コードの再生成時に空白とコメントも取り除かれます。

中間は基本のすべてに加え、式として使われるすべての文字列リテラルをファイル先頭の1つの配列にまとめ、各出現箇所を_fn(3)のようなインデックス検索呼び出しに置き換えます。

強力は中間のすべてに加え、その配列内の各文字列を通常の文字ではなく\x/\uエスケープで記述し、3文以上連続する直線的なコードをwhile(1) { switch(_i) { ... } }形式のディスパッチループに書き換えるため、上から下へと読める構造ではなくなります。

正確性を最優先

各レベルは、貼り付けたコードとまったく同じように動作するコードを生成するよう設計されています。安全性を証明できない構文——分割代入パターン、evalwith——については、プログラムを壊すリスクを冒すよりも名前変更をスキップします。コードにevalwithが含まれる場合、その理由により名前変更が完全にスキップされたことを通知で知らせます。

サイズの数値の読み方

統計欄には、入力と出力の正確なバイト数とその変化率が表示されます。名前変更や文字列抽出は、コードが読みにくくなる一方で、通常サイズを少し増加させます。難読化と圧縮は目的が異なるためです。

典型的な用途

  • デモやコード片を共有する前に、小さなスクリプトをざっと読みにくくする。
  • 入力と出力を比較しながら、難読化ツールの仕組みを学ぶ。
  • ロジック自体は機密ではないスクリプトに軽い抑止力を加える。

JavaScriptを貼り付け、レベルを選び、結果をコピーまたはダウンロードしてください。