如何在注入JVM之前验证Java字节码?

时间:2012-03-29 13:40:40

标签: java bytecode javassist java-bytecode-asm bcel

我正在尝试验证“动态”生成的字节码!

我已经尝试了几次,一次尝试是在运行时使用eclipse编译器编译我的类,另一种是从内存中编译,如下所述:

Compile From Memory

第一个结果看起来没问题但是我仍然不能100%确定验证过程是否真的有效,根据JAVA 6指南和安全测量以及正常的OOP模型。

有关如何验证字节码的更好方法吗?

2 个答案:

答案 0 :(得分:1)

如果使用标准类加载器加载生成的字节码,JVM的字节码验证器将验证(确保它类型检查,永远不会丢失方法的“边缘”等)字节码。< / p>

答案 1 :(得分:0)

您可以使用the class verifier provided by the ASM toolkit。这不需要JVM实际加载类,并为您提供更详细的验证错误报告。