36

Java クラス ファイルを編集するためのユーティリティ (または Eclipse プラグイン) はありますか? Java クラス ファイルのバイトコードを、再コンパイルせずに、完全なビルドパスを持たずに操作したいと考えています。

メソッドの名前変更、命令の追加/削除、定数の変更など。

私が見つけた唯一のユーティリティは次のとおりです。

  • classeditor です が、機能が非常に限られています (たとえば、名前の変更や命令の操作はできません)。

  • jbeは変更を保存しません (おそらくクラスの検証が失敗したためです - クラスは完全に実行されますが、変更を行う前に)

    (jbe には最初にクラスパスの問題があり、クラスパスを jbe.bat ファイルに追加すると役立ちました)

4

4 に答える 4

24

クラスファイルを直接編集するためにreJを使用しています。

命令、メソッド、定数プール、差分クラス、および 16 進エディターを使用した分割ビューを編集できます。

それはばかげて素晴らしいです。

于 2011-01-29T16:29:40.737 に答える
10

バイトコード -> バイトコードのフロントエンドは見たことがありませんが、バックエンドはたくさんあります。

バイトコードの読み込み、操作、ディスクへの保存を可能にするような多くのバイトコード操作ライブラリを調べてjavassistから、まさにそれを行う小さなメインを作成することをお勧めします。

于 2010-07-22T11:55:05.357 に答える
9

私はオープン ソースの Java アセンブラと逆アセンブラを作成しました。

クラスファイルを人間が読めるアセンブリに逆アセンブルし、編集してから、クラスに再アセンブルできます。もともとは難読化されたクラックメを書くために設計されたもので、他の多くのツールではサポートされていない多くのあいまいな機能がサポートされています。現在サポートされていない機能が必要な場合は、お気軽にお問い合わせください。できることを確認します。

于 2012-12-18T16:49:07.763 に答える
3

このバイトコード操作/コード生成ライブラリのリストは役に立ちましたか?

于 2010-07-22T15:37:57.787 に答える