Dynamic Code Instrumentation

Applications are implemented with functions.

  • Functions have addresses that may be determined, or subverted.

  • Java uses further abstractions when using native code.

    • Creating strict interactions points towards which is possible to access the external world.

This enables the possibility of manipulating symbols/ addresses to instrumentalize code.

  • Observe the internal structure of the program flow.

  • Inject new code by replacing the implementation of a function represented by a symbol.

Last updated