2

Java アプリケーションを逆コンパイルし、逆コンパイルされたコードを使用してデバッグすることはできますか?

逆コンパイル自体よりも、逆コンパイルされたコードを使用してデバッグする機能に興味があります (それは些細なことです)。

4

4 に答える 4

2

はい、有料と無料の両方で、インターネット上で利用可能なJava逆コンパイラがあります。私は現在、無料の試用版を提供する「DJ Java decompiler」と呼ばれるものを使用しています。

逆コンパイルしようとしている jar が難読化されていないことを期待できます。

于 2013-10-03T08:57:37.623 に答える
2

他の多くの人がすでに指摘しているように、それは確かに可能です。

JAR を逆コンパイルし、逆コンパイルされたクラスを直接実行して (つまり、ソースとして使用して) デバッグするだけの場合は、十分に役立つ逆コンパイラがたくさんあります。

アプリケーションで使用中の JAR をデバッグする予定がある場合は、逆コンパイラを選択する際に、適切なソース コードの行番号配置機能に注意してください。たとえば、この質問を見てください。次のような逆コンパイルされたコードになる可能性があります。

Line X /* Line Y */ int x = y
Line Y (anything can be here, it could even not exist)

X と Y の値がまったく異なります。これは、逆コンパイルされた .java ファイルの行 X が、コンパイルされたコードの行 Y に対応することを意味します。jar をデバッグするときは、ソース ファイルの行 Y にブレークポイントを配置してそこで停止する必要があります。これは、デバッグするのが非常に煩わしい場合があります。ソース ファイル内の逆コンパイルされたコードを行番号に合わせて調整する逆コンパイラがあります。

Line X /* Line X */ int x = y

私はJD-Eclipse Realignを使用してEclipseで成功しました。私を信じてください、ソース行のアライメントを使用して逆コンパイルされたコードをデバッグすることは違いを生みます

于 2013-10-03T09:01:30.610 に答える
2

はい、クリックしてJava逆コンパイラを無料でダウンロードできます

その他のリンクlink1 link2

于 2013-10-03T08:58:05.800 に答える
0

アプリケーションが適切に逆コンパイルされ、デバッグ情報が削除されていない場合は、そうです。

于 2013-10-03T08:57:47.313 に答える