2

重複の可能性:
Javaクラスファイルを「逆コンパイル」するにはどうすればよいですか?

私はJavaを初めて使用.javaし、コンパイルされたファイル(.classファイル)からファイル(つまりファイル)のソースコードを取得する方法があるかどうか疑問に思っていました。

コンパイルプロセス、つまり解析、構文とセマンティクスツリー、中間コード生成、使用されるマクロなどについて読みました。非常に複雑なプロセスのように聞こえました。リバースエンジニアリングはさらに困難になります。したがって、それは不可能だと思いますが、私は尋ねなければなりませんでした。私はそれをグーグルで検索しましたが、満足のいくものは何も見つかりませんでした。

また、クラスでのコードの難読化についても学びました。コンパイル解除が可能な場合、難読化されたファイルに対してどのように動作しますか?

前もって感謝します。

4

2 に答える 2

0

[編集:この質問は重複しているため、回答を完了しません。これは、質問の2番目の部分に対する追加のコメントです]

クラスを難読化すると、メソッドの名前など、実行には必要ないがファイルに存在するものはすべて削除されます。

実際、分離されたクラスを難読化しても多くは削除されません。他のクラスにはメソッドの名前または可視フィールドが必要だからです。したがって、通常、proguard のようなツールを使用して、クラスのグループをまとめて難読化します。

于 2012-06-10T18:10:10.107 に答える
0

はい、ちなみに非常に簡単ですが、というプログラムを取得しますDJ Java Decompiler(Googleで検索すると簡単に見つかります)。インストール後、.classファイルを開くだけで、すべてのフォーマットおよびインデントされたコードが表示されます。Microsoft Windows 専用アプリケーション

于 2012-06-10T18:11:31.790 に答える