3

私の主な問題は、一部を編集/変更したくないゲームのクラスファイルがいくつかあることです

これを達成する最も簡単な方法は何ですか?

コード全体を逆コンパイルして再コンパイルすることは、ソースコードでエラーを引き起こさない逆コンパイラがない限り、オプションではありません。修正に時間を費やしたくないからです。

よろしくお願いします

4

2 に答える 2

7

解決策は、 ASMBCELなどのバイトコード マニピュレータを使用することです。どちらも、クラス ファイルをロードし、その一部を変更して保存するための API を提供します。ASM には、実行時にこれを実行できるという利点があります。

于 2012-05-04T09:04:24.340 に答える
1

私が書いたKrakatau 逆アセンブラ/アセンブラも使用できます。逆アセンブラは、クラス ファイルを人間が読める (とにかくバイトコードを理解していれば十分に読める) 形式に変換し、それを編集して再アセンブルできます。これは、クラスファイルを手動で表示および編集したい場合に便利です。ライブラリ呼び出しを大量に作成し、ASM または BCEL を使用するためだけにプログラムをコンパイルして実行するのはかなり扱いにくい場合です。

Krakatau には、難読化されたクラスを処理するために特別に設計された逆コンパイラもあります。そのため、他の逆コンパイラでは生成できない場合でも、有効なソース コードを生成できる可能性があります。もちろん、クラスが難読化されている場合、生成されたソースはおそらくまだ判読できません。

于 2012-11-20T00:45:40.433 に答える