1. ホーム
  2. java

[解決済み] Javaクラスファイルを「デコンパイル」するには?[クローズド]

2022-03-18 18:55:22

質問

クラスファイルをデコンパイルするには、どのようなプログラムを使用すればよいですか?それとも、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ファイルをページにドロップするだけで、何もインストールせずにデコンパイルされたソースコードを見ることができます。