ArmadilloVM
x86-64 · software protection

Protect your software
from reverse engineering

ArmadilloVM lifts your most sensitive functions out of native x86-64 and into a custom bytecode that only its embedded interpreter can run.

PE & DLL SSE / XMM SEH + C++ EH bit-exact

What it does

Protection built on a real virtual machine

Ships as a virtual machine, not your code

Your sensitive functions leave the binary as x86 entirely. In their place sits ArmadilloVM's interpreter running a custom bytecode only it understands.

Works on real binaries

Point it at the executables and DLLs you already build. The protected image loads and runs exactly like the original — your users never notice.

Pick what to protect

Protect a single licensing check or an entire module. You choose the targets by symbol or address; everything else is left untouched.

Nothing breaks

Exceptions, callbacks, and calls out to the OS all keep working through virtualized code — protection that doesn't change what your program does.

How it works

Three steps from build to protected binary

01

Select

Hand ArmadilloVM your compiled binary and name the functions to protect.

02

Virtualize

Each target becomes VM bytecode, and the interpreter is packed into your image automatically.

03

Ship

Distribute one self-contained binary. It runs like the original — the protected routines just aren't readable anymore.

What's supported

Everything you need to protect real software

The supported functionality at a glance — the deeper technical notes live in the docs.

Put a VM between your code and the people picking it apart.