Skip to content

Changelog

  • Refactor of CLI help formatting
  • New reflection bypass for Java 24+
  • Add new cli argument offlineSignatures
    • Use only local list of trusted VM signatures
  • Add certificate verification
  • Add support for Java 24 (Experimental)
  • Generate signature only if verifyVM is enabled
  • Add new cli argument verifyVM
    • Check the checksum of a few selected VMs
  • Fix an issue with discord webhooks not being able to publich messages
  • exclude will also remove checksums for excluded classes
  • Relax obfuscation of the native loader to allow loading through ASM
  • Add support for Java 23
  • Improve Java agent protection
  • Add new cli argument webhook
  • Add new cli argument watermark
    • Set a custom String for a build to be able to trace unwanted distributions
  • Add support for Java 22 and below
  • Add new cli argument urlLoader
    • Load the JCloak loader dynamically which reduces file size
  • Fix issues with class indexing resulting in an exception
  • Read files in bigger buffers
  • Significantly improve startup time
    • Added multithreaded decrypting
    • Created custom serializer for jCloak
  • Add NATIVE_DUMMY and HIDDEN types for the @JCloakLoaded annotation
  • Use ClassLoader to access contents of a cloaked jar that has been loaded via a custom ClassLaoder
  • Add new arguments: hideExclusions, hideProcessing to supress output
  • Add output about the amount of processed targets
  • Improve startup speed by loading classes in an optimized order
  • Add new cli arguments
  • Support for multi cloaked projects
  • Improve class dumping protection
  • Change cli arguments to sneaky case
  • Add file output option to export keys
  • Remove JVM flag to run on the Java 9+ module system
  • Watchdogs are now terminating when the main thread finishes
  • Restructure project into more and finer modules
  • JCloak loader uses native transpilation to be better protected
  • Add option to generate fake native implementations
  • Access to the docker image requires an access token
  • Relocate docker image to jcloak/cli:latest
  • Use ASCII dictionary on JCloak loader to be able to run without utf-8 charset
  • Add checksums to detect modifications
  • Add new cli argument skipChecksum
  • Disallow and detect java agents
  • Add new cli argument allowAgent
  • Remove annotations after compiling
  • Using Java 9+ fallback method as default to prevent classloader issues
  • Removed debug mode due to more explanatory exceptions
  • Use ASM instead of Javassist due to issue #455
  • Add include key option as a quality of life improvement at the expense of security
  • Remove META-INF from components to only inclue input META-INF
  • Repackage obfuscated JCloak files from root to prevent name collisions
  • Add Java 9+ Support (works all the way up to and including Java 20)
    • Requires JVM flag due to the new module system
  • Sort options by required and optional
  • Add padding between option and description
  • Add dependency option to resolve classes at compiling
  • Add address option to load output only for specified ip address
  • Add killswitch option to killswitch a build
  • Devide cli, loader and dependency into seperate jar files to reduce size
  • Add output option (required)
  • Create output jar by extracting, editing and recompiling