Java デオブファスケーター
難読化されたJavaコードをオンラインでデオブファスケートして整形します。Unicodeエスケープ、文字列結合、その他のJava難読化パターンをデコードします。無料、ブラウザで動作。
入力
難読化解除済み出力
Java デオブファスケーターとは?
Java デオブファスケーターは一般的な難読化パターンを逆変換し、Javaコードを整形します。難読化またはミニファイされたJavaを貼り付けると、デバッグや解析のための読みやすい出力が得られます。Javaはエンタープライズアプリケーション、Android開発、バックエンドシステムで広く使用されています。
このツールは完全にブラウザで動作します。コードはサーバーに送信されません。Unicodeエスケープのデコード、文字列結合の解決、JavaクラスとメソッドのためのProperなインデント復元など、一般的な難読化技術を処理します。
このツールの使い方
貼り付けまたはアップロード
難読化またはミニファイされたJavaコードを左パネルに貼り付けるか、.javaまたは.txtファイルをアップロードします。サンプルをクリックして例を読み込みます。
難読化解除済み出力を確認
右パネルにクリーンで整形されたJavaコードが表示されます。Unicodeエスケープがデコードされ、文字列結合が解決され、インデントが復元されます。
コピーまたはダウンロード
コピーまたはダウンロードを使用して、さらなる解析やデバッグのために結果を.javaファイルとして保存します。
Java デオブファスケーターの例
Unicodeエスケープシーケンスを使用したJavaコードの難読化解除の例です。これはJavaで最も一般的な難読化技術の一つです。
例:Unicodeエスケープ難読化
難読化された入力:
難読化解除済み出力:
Java デオブファスケーターが役立つ場面
Javaは、AndroidアプリやエンタープライズバックエンドやEmbeddedシステムで使用されています。難読化されたJavaコードは、Android APKのリバースエンジニアリング、マルウェア解析、ライセンス保護の調査、レガシーコードの回復で一般的です。ProGuardなどのツールは識別子を変名します—完全な逆変換には専門のデコンパイラが必要です。このツールはシンプルなソースレベルの難読化パターンを自動的に処理します。
よくある質問
このツールはProGuardの難読化を元に戻せますか?
ProGuardはクラス、メソッド、フィールドを短い無意味な名前に変名します。完全な逆変換にはマッピングファイルが必要です。このツールはUnicodeエスケープや文字列結合などのソースレベルのパターンを処理しますが、ProGuardのマッピングなしに識別子を元の名前に戻すことはできません。
Javaコードはサーバーに送信されますか?
いいえ。難読化解除はすべてブラウザで実行されます。コードはサーバーにアップロードされません。
このJava デオブファスケーターはどの難読化パターンを処理しますか?
Unicodeエスケープシーケンス(\u0041 → A)をデコードし、文字列結合("hel" + "lo" → "hello")を解決し、Javaブロック(class、interface、if、for、while、try/catch/finally)のインデントを復元し、空白を正規化します。
Androidコードで動作しますか?
このツールはJavaソーステキスト(.java、.txt)を処理します。Android APKには、まずjadxやapktoolなどのデコンパイラでバイトコードをJavaソースに変換する必要があります。その後、このツールでデコンパイルされた出力をクリーニングできます。
.classまたは.jarファイルをアップロードできますか?
このツールはJavaソーステキスト(.java、.txt)を処理します。バイナリの.classおよび.jarファイルにはコンパイルされたバイトコードが含まれており、バイトコードデコンパイラが必要です。まずjadxまたはCFRでバイトコードをデコンパイルしてください。
関連ツール
Oracle JavaドキュメントおよびAndroid開発者リファレンスでJavaの詳細をご覧ください。