2

「オンザフライ」で生成されたバイトコードを検証しようとしています。

私はすでにいくつかの試みをしました。1つの試みはEclipseコンパイラを使用して実行時にクラスをコンパイルすることであり、もう1つはここで説明するようにメモリからコンパイルすることでした。

メモリからコンパイル

最初の結果は問題ないように見えましたが、JAVA 6のガイドラインとセキュリティ測定、および通常のOOPモデルに従って、検証プロセスが本当に有効かどうかはまだ100%わかりません。

バイトコードを検証するためのより良い方法はありますか?

4

2 に答える 2

1

標準のクラスローダーを使用して生成されたバイトコードをロードする場合、JVMのバイトコードベリファイアはバイトコードを検証します(タイプチェックを確認し、メソッドの「エッジ」に落ちることはありません)。

于 2012-03-29T13:42:32.970 に答える
0

ASMツールキットが提供するクラスベリファイアを使用できます。これは、JVMによってクラスを実際にロードする必要はなく、より詳細な検証エラーレポートを提供します。

于 2016-04-09T01:46:32.593 に答える