0

メモリにロードされたJavaプログラムがあります。実行時に Java デバッガーを使用して、アセンブリ コードにアクセスし、次の OPCODE を変更してからプログラムを再実行できますか? これが実現可能かどうか教えてください。

前もって感謝します!

4

3 に答える 3

0

編集についてはわかりませんが、Javaコンパイラを使用すると、次のような方法で確実に生成できます

javac MyClass.java

javap -c MyClass > MyClass.bc

これはhttp://www.ibm.com/developerworks/ibm/library/it-haggar_bytecode/から理解するための良い記事です

それを変更してからjavapで再コンパイルする方法があると思います

edit Javaバイトコード用のオープンソースコンパイラがいくつかあるようですhttp://en.wikipedia.org/wiki/Jasmin_%28Java_assemblyr%29

于 2013-10-17T08:08:03.937 に答える
0

javassist などのライブラリを使用して、実行時にバイトコードを変更できます。見てください:

http://www.csg.ci.iu-tokyo.ac.jp/~chiba/javassist/

于 2013-10-17T08:13:18.077 に答える