0

私が現在扱っているのは、実行可能な .jar を含む Windows .exe です。さまざまな .exe および .jar デコンパイラーを使用して実行しようとしましたが、役に立ちませんでした。私の質問は、.exe に圧縮される前の状態の .jar を取得するにはどうすればよいですか?

プログラムを C++ または C# から Java に変換しようとしているのではなく、.jar を .exe にパックして生の .jar に戻そうとしていることに注意してください。

4

1 に答える 1

0

exe にパッケージ化された方法に関する情報がまったくわからない場合、1 つの方法はClassLoader、rt.jar のコアを置き換え、そのdefineClassメソッドでデータをファイルに書き込むことです。このようにして、クラスがロードされるたびに、それぞれのファイルに書き込まれます。

これはハックであり、多くの落とし穴があることに注意してください。たとえば、リソースなどの他のデータは jar ファイルに含まれません。あなたの最善の策は、@HovercraftFullOfEelsが言及したようにパッケージ化された方法を見つけることです.

OpenJDK java.lang.ClassLoaderソース

于 2012-10-06T00:47:29.327 に答える