[解決済み] Javaクラスファイルを「デコンパイル」するには?[クローズド]
質問
クラスファイルをデコンパイルするには、どのようなプログラムを使用すればよいですか?それとも、JVMのアセンブリコードだけでしょうか?
このサイトのJavaパフォーマンスに関する質問で、コンパイラが特定のものをどのように最適化するかを確認するためにJavaクラスファイルを"decompile"した人からの回答をよく見かけます。
どのように解決するのですか?
2016年2月に更新しました。
www.javadecompilers.com は、JADを挙げている。
最も人気のあるJavaデコンパイラですが、主にこの時代だけのものです。C++で書かれているので、非常に速い。
時代遅れ、サポート外、Java 5以降を正しくデコンパイルできない。
そのため、最近の jdk (7, 8) については、お客様のご希望に添えない場合があります。
同サイトに他のツールも掲載されています。
そして、javadecompilerは、次のように指摘されています。
サルバドール・バレンシア
で
コメント
(2017年9月)をアップロードするSaaSを提供しています。
.class
ファイルをクラウドに送信すると、逆コンパイルしたコードを返してくれます。
オリジナルの回答です。2008年10月
- J2SE 5.0(Java SE 5)の主要機能を定義したJSR 176の最終リリースが2004年9月30日に公開されました。
- Pavel Kouznetsov氏によって書かれた有名なJavaデコンパイラであるJADがサポートする最新のJavaバージョンは、以下の通りです。 JDK 1.3 .
- DJ Java Decompiler」や「Cavaj Java Decompiler」など、現在インターネットからダウンロードできるJavaデコンパイラのほとんどは、JADを搭載しており、Java 5のソースを表示することができない。
Javaデコンパイラ (Yet another Fast Java decompiler)があります。
- デコンパイルと解析の明示的なサポート Java 5+ ".class" ファイルを使用します。
- 素敵なGUI。
JDK 1.1.8 から JDK 1.7.0 までのコンパイラで動作し、その他のコンパイラ ( Jikes , JRockit など)。
オンライン ライブデモ版 実際に完全な機能を備えています。jarファイルをページにドロップするだけで、何もインストールせずにデコンパイルされたソースコードを見ることができます。
関連
-
エラーが報告されました。リソースの読み込みに失敗しました:サーバーは500(内部サーバーエラー)のステータスで応答しました。
-
JSPで「リストが型解決できない!」の解決方法
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] Java内部クラスと静的ネストされたクラス
-
[解決済み】Javaの「ダブルブレース初期化」の効率化?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Java エラー報告 スレッド "main" での例外 java.util.NoSuchElementException
-
ファインバグタイプ
-
javaで非静的な解を静的な参照にすることができない
-
VMの初期化中にエラーが発生しました java/lang/NoClassDefFoundError: java/lang/Object
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException: 1
-
が 'X-Frame-Options' を 'deny' に設定しているため、フレーム内にある。
-
Javaエラーメッセージがenclosingクラスでない
-
javax.net.ssl.SSLException: 読み取りエラー: ssl=0xdeae5100: システムコール中の I/O エラー、接続 res
-
起動時にEclipseエラーが発生しました。起動中に内部エラーが発生しました。java.lang.NullPoin: "Javaツーリングの初期化 "中に内部エラーが発生しました。
-
Maven Pluginの実行がライフサイクル設定の対象外であるエラーの解決