2

64 個のクラス ファイルと画像/CSS/JS ファイルで構成される 1 つの War ファイル (Java アプリケーション) があります。この war ファイルのソースを失いました。ここで、コードにいくつかの変更を加えたいと思います。次の質問について、コミュニティからの専門家のアドバイスを探しています。

  1. コードのセクションを失うことなく .class ファイルを .java ファイルに変換する最良の方法はありますか?
  2. このタスクのためのツールは何ですか?
  3. .class ファイルを .java ファイルに変換して war ファイルを再作成する際の課題/欠点は何ですか?
4

2 に答える 2

3
  1. Java Bytecode への変換は、ほぼ完全に元に戻すことができます。@StephenC が言ったように、再生成されたソースでは、コメント、ローカル変数の名前などが失われます。すぐにはコンパイルされない可能性がありますが、少し変更するだけで再度コンパイルできるはずです。

  2. これを行うには、Java Decompiler が必要です。JD-GUIまたはDJ Java Decompilerを試す

  3. ソースを難読化した場合でも、復元するソースの理解やリバース エンジニアリングは難しくありません。それ以外の場合は、少しいじるだけで、ソースを取り戻すことができるはずです。

于 2012-07-20T06:56:29.357 に答える
3

逆コンパイルされたバイトコードを理解するのに恐ろしい時間を費やしたくない場合は、2 つ以上のクラスのプロジェクトに対して、バージョン管理システムとリモート リポジトリの使用を開始してください。

特に、GitHub で Git を使用できます。オープン ソースは無料でホストされていますが、コードを保護したい場合は、とにかく安価な商用サブスクリプションを取得できます。

今回は、JD などの Java 逆コンパイラを使用してください。

  1. Java 逆コンパイラを使用して、バイトコードを逆コンパイルします。
  2. 逆コンパイルされた Java クラスから git リポジトリを作成する
  3. リモートリポジトリと常に同期する
于 2012-07-20T07:06:28.443 に答える