入力

難読化解除済み出力

Java デオブファスケーターとは?

Java デオブファスケーターは一般的な難読化パターンを逆変換し、Javaコードを整形します。難読化またはミニファイされたJavaを貼り付けると、デバッグや解析のための読みやすい出力が得られます。Javaはエンタープライズアプリケーション、Android開発、バックエンドシステムで広く使用されています。

このツールは完全にブラウザで動作します。コードはサーバーに送信されません。Unicodeエスケープのデコード、文字列結合の解決、JavaクラスとメソッドのためのProperなインデント復元など、一般的な難読化技術を処理します。

このツールの使い方

1

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

難読化またはミニファイされたJavaコードを左パネルに貼り付けるか、.javaまたは.txtファイルをアップロードします。サンプルをクリックして例を読み込みます。

2

難読化解除済み出力を確認

右パネルにクリーンで整形されたJavaコードが表示されます。Unicodeエスケープがデコードされ、文字列結合が解決され、インデントが復元されます。

3

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

コピーまたはダウンロードを使用して、さらなる解析やデバッグのために結果を.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の詳細をご覧ください。