- ベストアンサー
classファイルを元に戻す
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
完全には無理ですが、 javapコマンド でできます。 コマンドについての詳細はJavaのドキュメントを参照して下さい。 javap -help でヘルプも出ます。 他にもきっと逆コンパイルするツールなどあると思います。 あとは自分で作ったものなら構いませんが、 フリーのツールのクラスでも、逆コンパイルすることはライセンス違反になることもあるようなので、そこら辺は充分気をつけて下さい。
その他の回答 (1)
- thamansa
- ベストアンサー率40% (95/232)
Javaに限らず、コンパイルされたプログラムからソースを得ることを「逆コンパイル」いい、昔から行われています。 Javaにも逆コンパイルツールがあり、私は「Jad」を愛用しています。 Jad単体でも使えますが、Eclipseをお使いでしたら、より便利ですよ。
関連するQ&A
- Classファイル → Javaソースプログラム
どーも、こんにちは。プログラミング初心者です。 現在Javaを使ってプログラムをしています。 JavaはJavaソースをコンパイルするとClassファイルが生成されるじゃないですか? では逆に、ClassファイルからもとのJavaソースプログラムに変換する(?)、取り戻すことはできないのでしょうか??? もしかして無理なのかもしれませんが、これが出来ないとどうしていいか分かりません。 どうしても、ソースプログラムが見たいClassファイルがあるのです。 そんな状態なので困っています。 どなたか少しでもご存知の方は、ご一報ヨロシクお願いします!!
- ベストアンサー
- Java
- javaのソースとclassファイルの単位について
最近JAVAの勉強を始めました。 基礎的なことで恐縮ですが、JAVAのコンパイル単位を知りたいのですが。 一つの*.javaファイルについては、必ず一つのclassファイルができるんでしょうか? 一つの*.javaファイルから、複数個のclassファイルができたり、複数の*.javaファイルから 一つのclassファイルができたりはしないんでしょうか? まだ、一つの*.javaから一つのclassファイルを作ったことしかないので、 申し訳ないですが、どなたか教えてください。よろしくお願いします。
- ベストアンサー
- Java
- classファイル内の変数名について
2つのclassファイルをそれぞれ逆コンパイルして内容を確認したところ、 以下のように、それらしい変数名と機械的に振られたような変数名になっていました。 ・A.class → A.java String atai = "aaa"; ← 元のプログラムと同じ変数名(atai) ・B.class → B.java Stinrg s1 = "aaa"; ← 機械的に振られている変数名(s1) コンパイル方法の違いで変数名が機械的になってしまうことがあるのでしょうか。 作業担当者が居なくなってしまって、当時の状況を確認することができません。 多分、同じソースファイルのはずなのですが、本当に同じ内容なのか 比較したいのに、微妙な違いがあるため比較ができなくて困っています。 引数も微妙に違っているようなので、それらしい変数名か機械的なものか どちらかに統一させてデコンパイルする方法があったら教えてください。 また原因も知りたいです。 アドバイスをお願いします。
- ベストアンサー
- Java
- classが作られない
javaをはじめて2日目です。以下がコンパイルしたところ、エラーがでなかったのですが、classが作られていません。何回か試したのですが、参考書には、 >javac Sample2.java とし、もう一度ディレクトリ名が出れば、コンパイル完了とあるのですが、classが作れていないので、実行が出来ません。 すみませんが、教えてください。 //画面に文字を出力するコード class Sample1 { public static void main(String args[]) { System.out.println("ようこそjavaへ!"); System.out.println("javaをはじめましょう!"); } } ちなみに保存名は、Sample2.javaです。
- ベストアンサー
- Java
- classファイルについて
お聞きしたいのですが、 コンパイルしたあとに作られるclassファイルを開いてみたら、 解読できない、文字化けのようになっています。 これはやっぱりおかしいのでしょうか?
- ベストアンサー
- Java
- javaのCLASS ファイルについて
いらないJAVAのプログラムが増えてきたので保存してあるフォルダを整理していたところ、誤って必要なものまで削除してしまったのですがCLASS ファイルはあります。CLASSファイルからJAVAファイルに戻すことはできますか?
- ベストアンサー
- Java
- java .classのファイル形式
javaのファイルに.java .classがありますが .javaのファイル形式はテキストファイルだと思いますが .classのファイル形式は バイナリファイルでしょうか? または実行ファイルでしょうか? または別のファイル形式でしょうか?
- ベストアンサー
- Java
- java の *$1.class ファイルについて
最近、JDK を使っていて思ったのですが、javac でコンパイルしたときに 変わったクラスファイルがでてくるのですが・・・ たとえば、 MainFrame.class の他にMainFrame$1.class があったりします。 これがないと実行できません。 これはいったいなんなんでしょうか? どうか、教えてください。 お願いします。
- ベストアンサー
- Java
お礼
みなさんありがとうございます! 「逆コンパイル」という言葉があること自体 知りませんでした。検索したら結構出てきますね。 勉強になりました。