EclipseのJava逆コンパイラーをお勧めしますか?他の質問は、他のJavaプログラムからの逆コンパイルされたコードの使用にはどのような制限がありますか?ライセンスについてあまり知りません。読んでくれてありがとう。
グーグルにポップアップ表示されるものをお勧めします。これは [〜#〜] jd [〜#〜] Javaデコンパイラーです。本当に素晴らしいです。
制限については、特定のソフトウェアのライセンスを読む必要があり、逆コンパイルの方法は禁止されていると書かれている場合があります。
JadClipse -が好きですが、場所で年齢を示しています。必要になるだろう:
いくつかの欠点があります。
このEclipseプラグインを使用しました: JadClipse
そしてこれJava decompiler: [〜#〜] jad [〜#〜]
私はいくつかの逆コンパイラを試しましたが、それらのほとんどは逆コンパイルしようとしていたアプレットの正しいソースを生成できませんでした(これは http://mrl.nyu.edu/~perlin/experiments/emotive-actors/ 、誰かが複製したい場合)。
完全に問題なく動作したのは Cavaj 1.11 で、それによって生成されたコードには構文エラーが含まれておらず、ソースからコンパイルされたアプレットは元と同じように実行されます。 UI側で欠けていたのは、Ctrl-A/Ctrl-Cキーボードショートカットが機能せず、バッチ変換が利用できないことでした。
私が試した他の逆コンパイラは:
[〜#〜] jd [〜#〜] が最高Java私が知っている逆コンパイラーです。
私はあなたの最初の質問に答えることができません:それは偏っているでしょう、おそらく...
2番目の質問については、逆コンパイルはLEGALです。この点は私にとって非常に重要です。この興味深いページをご覧ください: http://www.program-transformation.org/Transform/LegalityOfDecompilation
[〜#〜] jd [〜#〜] が非常に良いことがわかりました。ただし、1つまたは2つの小さなバグがあり、実行時に予期しない動作が発生しました。
たとえば、元のcaseステートメントの最後のノードに 'break'がなかった例がありました(当然、これは不要です)が、JDがノードの順序を変更したため、 'default'の場合を意味しました予想外に呼ばれた。また、期待どおりにログアウトするために、物事の最後に追加のtoString()呼び出しが必要になる文字セットの問題もありました。それとは別に、それは素晴らしかったです!
私は別の逆コンパイラー [〜#〜] dj [〜#〜] を使用して、JDによって逆コンパイルされたコードの何が問題なのかを調べました。しかし、DJが処理できない他のことがあったので、両方の逆コンパイラの混合物が私のために働いたと思います:)
デュピュイ氏がこれを読むことを願っています!