Unreadable to the tools built to read it.

Upload the compiled .exe or .dll. Hot functions run as virtual machine bytecode, code sections stay encrypted, and the protected file reads as noise to decompilers, debuggers and memory dumpers.

  • Runs as bytecode. Your functions become virtual machine instructions only Atlas can run.
  • Encrypted until it runs. Code sections stay encrypted on disk and in the static view.
  • Decompilers stall. IDA and Ghidra analysis is bombed and Hex-Rays pseudocode fails.
  • Patching breaks it. Integrity feeds the key, so one changed byte decodes to noise.
  • Debuggers and injectors repelled. x64dbg, WinDbg, Frida and Cheat Engine meet a process that fights back.
  • Different every build. Protect the same function twice and no two captured bytes match.

Built against IDA Pro, Ghidra, x64dbg, WinDbg, Frida, Cheat Engine, ScyllaHide, Scylla, pe-sieve, ProcDump, Process Hacker, Triton, Angr and more.

WinDbg / same function, same offset +0x1284 / two protected builds
Build Atriage_code_encrypt.exe
4ff3dc7e783b162a53c8e0900b5432c5
Build Btriage_polymorphic_code.exe
135b34dd1f322d02ca30a4f215bc3196
16 / 16

bytes differ. It is the same source function at the same offset, protected twice. A signature written against one build matches nothing in the next.

Build A decodes as
???
rep fdivr qword ptr [rsi+78h]
cmp edx, dword ptr [rsi]
Build B decodes as
adc ebx, dword ptr [rbx+34h]
fstp qword ptr [rdi]
xor ch, byte ptr [00007ff7`4673dc91]
65
options in the dashboard
5
defense suites
x64 + x86
.exe and .dll files

Defense suites

Six suites, each aimed at one class of tool. Pick a suite to see the tools it is built against, what it does to them and why it holds.

Suite 016 techniques

Opened in a decompiler, it yields nothing usable.

  • Built against
  • IDA Pro / Hex-Rays
  • Ghidra
  • Binary Ninja
  • radare2
  • Tigress
  • Triton
WinDbg · u rip - encrypted .text under a static viewCaptured
cc6512844F???// invalid opcode
cc651285F3 DC 7E 78rep fdivr qword ptr [rsi+78h]
cc6512893B 16cmp edx, dword ptr [rsi]
cc65128b2A 53 C8sub dl, byte ptr [rbx-38h]
cc65128eE0 90loopne triage_code_encrypt+0x1220
cc6512900B 54 32 C5or edx, dword ptr [rdx+rsi-3Bh]
cc651294F1???// invalid opcode
  • What it stops

    IDA Pro / Ghidra initial autoanalysis - the pass that recovers functions and cross-references the instant a binary is loaded.

    How it works

    The file is seeded with tens of thousands of look-alike function starts that lead nowhere, so the analyzer’s work queue grows faster than it can clear.

    Why it holds

    Disabling autoanalysis means analyzing by hand - the work the tool exists to remove. The cost is paid by the analyst, every time.

Evidence

Real captures, not mockups. Four WinDbg sessions of protected builds, verbatim from the debugger.

A real protected build, stopped at its own entry point under WinDbg. The byte at RIP is 4F - an invalid opcode (???). The .text section is AES-128-CTR ciphertext until the instant it executes, so there is no valid instruction stream to disassemble, and the return chain past BaseThreadInitThunk dissolves into non-symbolic noise.

(7904.8330): Access violation - code c0000005 (!!! second chance !!!)
triage_code_encrypt+0x1284

???
The debugger found no valid instruction at that address.
noise
A stack frame that resolves to no module and no symbol.
WinDbg / triage_code_encrypt.exe / entry point
cc6512844f???
cc651285f3 dc 7e 78rep fdivr qword ptr [rsi+78h]
cc6512893b 16cmp edx, dword ptr [rsi]
cc65128b2a 53 c8sub dl, byte ptr [rbx-38h]
cc65128ee0 90loopne triage_code_encrypt+0x1220
cc6512900b 54 32 c5or edx, dword ptr [rdx+rsi-3Bh]
cc651294f1???
cc6512950c 88or al, 88h
WinDbg / triage_code_encrypt.exe / call stack under a debugger
frametriage_code_encrypt+0x1284
frameKERNEL32!BaseThreadInitThunk+0x14
noise0x02301fa3`cabf7af4
noise0x91efe278`56a755c5
noise0x5960872f`5b50988c
noise0xd28367a8`436c85d0

What sets it apart

No check to patch, and nothing static to study. Protectors that branch on a detection can be patched at the branch. These are the properties that do not depend on one.

01Tamper-by-construction

There is no check to patch.

02Nested disjoint-ISA virtualization

Two unrelated machines, no stable handler to lift.

03Environment channel fold

The wrong room derives the wrong key.

04JIT-decrypted handlers, per-call rekey

Nothing static to dump and study offline.

05Never fully plaintext in memory

Even paused, there is nothing clean to read.

06SMT-poisoned semantics

The automation that makes devirt practical times out.

How it works

Upload a binary. Download one that reads as noise.

  1. 01

    Upload

    Drop in the compiled .exe or .dll, x64 or x86. No source and no toolchain changes.

  2. 02

    Choose options

    Each option runs from Light to Maximum, and every level says what it adds.

  3. 03

    Download

    A drop-in protected binary. A build history is kept for the retention window of your plan.

Free and Premium

Every defense is on the free tier. Premium lifts how much you stack and how fast. Free runs the same engine under a 20-point budget per build. Premium removes the budget and raises the limits.

FreePremium
File size50 MB250 MB
Protection per build20 pointsEvery option at Maximum
Builds at once13
Builds per day20Unlimited
Saved templates3Unlimited
Worker queueStandardPriority

Premium also adds priority human support, direct access to the team and a full export of your build history.

See plans

Two products, one answer

Obfuscator secures the file. Authenticator secures the license inside it. A noise-proof binary around a weak or missing license check still gives up the same way it always did, just slower to find. Authenticator is the licensing layer built to hold once someone gets that far.

What Obfuscator already does

Tamper folded into the decryption key, nested VMs, handlers decrypted only at the instant they run. The full binary-protection engine.

What only Authenticator can do

Hardware-locked keys, signed server replies, bans that hold on sight of the same machine again. The part a decompiler-proof file still needs to be worth protecting.

Ship a binary that fights back.

Free tier, no card. Protect a build, then open it in the tools you trust.

  • Free to start, no card
  • SDK for C++, JavaScript and Python
  • Windows x64