JNIF - Java Native Instrumentation Framework

JNIF is a C++ library that can read, modify, and write Java bytecode. It is similar to bytecode rewriting frameworks like ASM or BCEL, but instead of being implemented in Java, it is implemented in C++.

The advantage of JNIF is that, unlike ASM or BCEL, it can be used for implementing JVMTI agents (which are written in native code). Thus, JNIF enables the development of dynamic analysis tools that require full bytecode coverage and minimal perturbation.

Documentation

Check out the doxygen-generated documentation of JNIF.

Source Code

The JNIF source code is available in our Git repository on GitLab.

Publication