SCRAMBLECODE is a Security-Oriented Programming Language that provides strong protection against attacks to crack and modify your software. The compiled code is heavily encrypted and can be safely deployed and executed anywhere.

Download and test SCRAMBLECODE


1. Private Assembler: 
Compiler can use different sets of assembler instructions for every project.
2. Encrypted Memory: 
Variables are stored encrypted in memory. Many instructions work without decryption.
3. Strong Protection: 
Uses multi-layered encryption and RSA key pairs of size 2048, 3072, 4096 or 8192 bit.
4. Personal VM: 
Creates a custom virtual machine for each key pair which only you can use.
5. All-In-One IDE:  
The editor, compiler, test bench, debugger and documentation are fully integrated.
6. Simple API: 
Free source code for C# .NET class included to demonstrate all API functions.
7. Free Deployment: 
Royalty free xcopy deployment of your compiled code and personal VM.
8. Free Download: 
Test full version on any machine. Internet not required. All functionality is available off-line.


Technical Summary: 

Executing Encrypted Code: 
SCRAMBLECODE does not attempt to protect any machine code.

Instead SCRAMBLECODE executes code as private protected assembler instructions using in-memory virtual machines (VM), created and killed on-the-fly.

Each VM can create and execute many others within the same thread, but they can also be working in parallel (multi-threading).

It is virtually impossible to crack the compiled code and change an instruction, as modification of one instruction can invalidate thousands of other instructions due to their inter-dependent nature.

Working With Encrypted Variables: 
When the encrypted instructions are executed, they work with variables stored encrypted in memory.

These perhaps millions of encryption events make up the program execution. It is very complicated to analyze and interpret the instructions and events, which may even change on each compilation and each execution.

Many instructions (like push, pop, move etc.) can be performed without having to decrypt the involved content. This benefits both speed and security. If an operation requires one or more operands to be decrypted, their values are usually very short-lived and quickly erased due to the memory management design.

Test Before You Buy: 
Download and test the full version for as long as you need on any number of machines.

The Documentation is fully integrated with the development environment.

Read the Introduction for a one page technical presentation.