jvmtp is a commercial product, licensed perpetually and
per‑update. You buy a specific release, that build is yours
to use forever. Every purchase includes free patch updates
(x.y.Z) and the next 3 minor
versions at no extra cost; further minor and major updates come at
a reduced price, with minor updates discounted the most. There is no
subscription, no recurring fee, and no license server, so the JAR you
receive keeps working indefinitely. Every license produces JNI libraries
for all supported target platforms.
How licensing works
Perpetual license
Per release one-time
Purchase the current jvmtp build. It is yours to
keep and run forever, on as many builds of your own software as you
like.
The jvmtp build for the release you purchased: a single executable JAR (java -jar jvmtp.jar input.jar config.conf) that transpiles your JARs and produces native JNI libraries for every supported platform. That build is yours to keep and use forever.
No. The output is a normal JAR whose selected methods are backed by a standard JNI shared library. The injected NativeLoader extracts and binds the matching library at startup, so the only requirement on the target is a JNI-compliant JVM. There is no jvmtp runtime to install.
Updates follow semantic versioning. Patch releases (x.y.Z) — bug fixes and bytecode coverage — are free, and every purchase also includes the next 3 minor versions (x.Y.z) at no extra cost. After those, further minor releases come at a heavily reduced price and major releases (X.y.z) at a reduced price, both relative to a fresh purchase. Buying an update is always optional; the build you already own keeps working indefinitely.
Yes. Reach out for an evaluation sample (including sample transpiled output) before committing, and ask about dedicated education, academic, and research licensing.
jvmtp is a transpiler, not an obfuscator. It moves selected methods into native code and runs alongside bytecode obfuscators (ZKM and the like) and native protectors such as VMP or Themida. The optional compiler.safe-env mode restores the original JNIEnv* function table on method entry to defeat agent-style JNI pointer hooks.
Any JVM implementing the JNI specification (HotSpot, OpenJ9, GraalVM, Android ART). Stable targets are x86_64 and aarch64 on Linux, Windows, and macOS. See the targets page for the current matrix.
Contact
Questions about licensing, pricing for a specific release, updates,
evaluation samples, or education & research use.
For bugs and technical questions, contact us by email.