javabytecodejavassistjava-bytecode-asmbcel

How to verify Java Bytecode before injecting into the JVM?


I'm trying to verify "on the fly" generated bytecode!

I already had several attempts, one attempt was to compile my classes in runtime with the eclipse compiler another was to compile from memory as mentioned here:

Compile From Memory

First results looked okay but I'm still not a 100% sure if the verification process is truly valid according to the JAVA 6 guidelines and security measurements as well to normal OOP Models.

Any better way on how to verify bytecode?


Solution

  • If you load the generated bytecode using a standard class loader, the bytecode verifier of the JVM will verify (make sure it type checks, never falls of the "edge" of a method and so on) the bytecode for you.