Zelix KlassMaster - Documentation

Compatibility

What do you need to run Zelix KlassMaster™?

Zelix KlassMaster™ is written entirely in Java 8 (i.e. JDK 1.8) and technically should run on any platform that supports a Java 8 or better Virtual Machine. However, note that Zelix KlassMaster™ version 10 requires a recent version of a Java 8 JVM or better to run. If you use an Oracle JVM earlier than 1.8.0_152 then you may get a JVM crash due to HotSpot bugs.

More generally, differences in the file systems and GUIs can also cause problems. Further, Zelix KlassMaster's flow obfuscation technology can expose bugs in some Just in Time (JIT) compilers.

Zelix KlassMaster™ has been tested on:
  • Windows 10™ 64bit using
    • Oracle build "1.8.0_162" Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
    • Oracle build "9.0.4" Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
    • Oracle build "10+46" 2018-03-20 Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)
    • OpenJDK version "9-internal" 64-Bit Server VM (build 9-internal+0-adhoc..openjdk, mixed mode)
  • Windows 8.1™ Pro 64bit using
    • Oracle build "1.8.0_162" Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
    • Oracle build "9.0.4" Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
    • Oracle build "10+46" 2018-03-20 Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)
  • Linux (Xubuntu 16.04) using
    • Oracle build "1.8.0_162" Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
    • Oracle build "9.0.4" Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
    • IBM "1.8.0_161" build 8.0.5.10 - pxa6480sr5fp10-20180214_01(SR5 FP10) IBM J9 VM (build 2.9, JRE 1.8.0 Linux amd64-64 Compressed References 20180208_378436 (JIT enabled, AOT enabled)
    • OpenJDK version "9-internal" OpenJDK 64-Bit Server VM (build 9-internal+0-adhoc.jenkins.openjdk, mixed mode)
    • OpenJDK version "10-internal" OpenJDK 64-Bit Server VM (build 10-internal+0-adhoc.jenkins.openjdk, mixed mode)
  • MacOS High Sierra™ 10.13.3 using
    • Oracle build "1.8.0_162" Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
    • Oracle build "9.0.4" Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)

What can Zelix KlassMaster™ process?

Zelix KlassMaster™ can process bytecode compiled for Java 9 and 10 including modules.

Of course, it can also process bytecode compiled for JDK 1.1.x, 1.2.x, 1.3.x, 1.4.x, 1.5.0, 1.6.0, 1.7.0, 1.8.0, 1.9.0 and 10.0.0 JVMs. However, it is highly recommended that you always set the internal classpath used by Zelix KlassMaster™ (ZKM Script classpath statement) to point to the bootstrap classes. For Java 2 through to Java 8 that is the corresponding rt.jar. For Java 9 and Java 10 it is the corresponding lib\jrt-fs.jar file system.

Note that if you use the Reference Obfuscation functionality on bytecode which is at the Java 8 level then your obfuscated bytecode will require a newer Java 8 or better JVM to run. For example, if you use an Oracle JVM earlier than 1.8.0_152 then you may get a JVM crash due to HotSpot bugs.
 
Documentation Table of Contents