Skip to content

Latest commit

 

History

History
27 lines (19 loc) · 1.06 KB

README.md

File metadata and controls

27 lines (19 loc) · 1.06 KB

SSVM - Stupidly Simple VM

Capabilities

  • InvokeDynamic
  • Reflection
  • Class loading
  • File system (part of it)
  • Mapped I/O streams between VM & host OS
  • sun/misc/Unsafe implementation
  • JDK 8/9 bootstrapping
  • Multi-threading (see ThreadManager)
  • Interface to modify VM behaviour, similar to JVM TI
  • Instruction rewriting: rewrite parts of methods as the VM executes

Usage

For a basic example, see: EXAMPLE.md

More simple cases can be found in the test cases: ssvm-invoke tests

For complex examples, see: Recaf v3 (Old, using SSVM 1.0)

To add SSVM to your project, add it as a dependency via JitPack. Be sure to use the "commits" tab to pull the latest version, as 2.0.0 has not officially been tagged for release yet.

SSVM depends on JLinker, which is also available via JitPack