While Hexlicense does a fine job of managing your licenses, we are not resting on our laurels. In our lab we are creating our own assembler and bytecode runtime system, which will serve as the language of future license control components.
Full control from assembly to final product
Hackers have access to the best debuggers money can buy, and in many cases the debuggers and reverse engineering tools are more advanced than the compilers and languages used to make software.
But what if you could write parts of your code in a bytecode language the hackers know nothing about? Where the instructions and opcodes themselves were derived from the root-key generated and under your control?
This means that the machine-code level instructions would be different for each application you deploy, making the work of hacking or disabling your protection virtually impossible.
Assembly and beyond
Our runtime engine implements a virtual cpu (or virtual machine) that is extremely small, effective and completely platform independent. It will happily run on Windows, Linux, Android or iOS. We even prototyped the system in Smart Mobile Studio to make sure the system can be seamlessly integrated into the Ragnarok server framework (Ragnarok will be available with version 3.0 of Smart Mobile Studio).
The assembler, runtime and disassembler (available only to our customers) is the foundation. We dont expect our customers to spend weeks coding in assembler, even one as flexible as ours (based on the Motorola 68k instruction set).
The next step is to implement parsers for Delphi and C# that run on top of the assembler. You write object pascal and it emits bytecodes. Bytecodes where you have full control over the instruction-set, obfuscation, optimization and compression.
The ultimate security measure
Write your application as normal using the language you prefer. But when the time comes to implement mission critical security code, use our special compiler and write those procedures there. Then link the bytecode into your executable and our components takes care of the rest.
Entire libraries can be implemented purely in bytecode, making the act of hacking and reverse engineering a nightmare for hackers using off the shelves debuggers and resource extraction utillities.