In a very short form these are the essential aspects of SCRAMBLECODE:
SCRAMBLECODE is delivered with:
When SCRAMBLECODE compiles your source code into encrypted bytecode, it actually turns your secret source code into thousands or even millions of small encrypted pieces, each containing a virtual assembler instruction or a piece of data, which are only understandable for your compiler and your setup.
Each encrypted instruction or data depends on many other pieces, and if a single piece is changed - e.g. if a cracker tries to change an instruction - then typically thousands of other pieces will no longer be correct.
The result is like a big puzzle where each little piece can't be identified nor modified by an outsider.
Finally the compiler signs your bytecode with your private key - a secret key created by you using RSA 2048, 3072, 4096 or 8192 bit technology.
When the VM loads the bytecode for execution, the individual pieces maintain their encryption.
During the VM execution all variables are stored encrypted in memory and in a randomized manner, which may change unexpectedly during the execution. In fact, you get completely different results for each license, and each compilation, and each execution.
The end result is extremely difficult to crack - even when utilizing advanced or specially crafted tools for debugging, disassembling, memory monitoring etc.