Available · Windows · Shipping product + SDK

Windows PE protection — finished product

AkiProtect for Windows is the mature shipping stack: native EXE/DLL packing, GUI + CLI builder, multi-language SDK, offline serials and online activation. macOS is the separate public beta track.

  • Native PE32 / PE32+ — x86, x64, ARM64 (builder must match; MSVC/MinGW/Go native PE OK)
  • EXE and load-only DLL (optional named/ordinal no-arg export dispatch)
  • SDK markers (Virtualize / Mutate / Ultra / LockByKey) + licensing & activation APIs
  • .NET: use --dotnet-* obfuscator and/or --dotnet-wrap (CLR host). Native stub-pack of CLR PE is rejected.

x64 = Intel/AMD 64-bit (GUI included). x86 = 32-bit. ARM64 = Windows on ARM (CLI; GUI use x64 under emulation if needed).

AkiProtect-Windows-x64-0.34.0.zip · 26 MB
sha256:e3d1fb11564873c1c122b0beb5bf746a47df14b34c4a9667bfc1cd5fe13f2e2e

AkiProtect-Windows-x86-0.34.0.zip · 1.6 MB
sha256:2cd214e977b6511140f3cd542499921e485191afd43a1ad1395686c575175d76

AkiProtect-Windows-arm64-0.34.0.zip · 1.6 MB
sha256:b7d991267a5462d9f49a472149aaf22c12f697d276303b8dcb80272c8a7474d5

SHA256SUMS

AkiProtect Windows GUI

What binary types Windows supports

Aligned with COMPATIBILITY.md and the local test corpus — not marketing fluff.

Supported

Native EXE

Ordinary native Windows executables (console or GUI), including Go native PE. Same-architecture pack only; cross-arch rejected with clear diagnostics.

Supported

Native DLL

Load-only DLL payloads with DllMain attach/detach, TLS lifecycle, resources. Optional --dll-export / --dll-export-ordinal for a no-argument startup export.

.NET pipeline

.NET assemblies

Obfuscate with --dotnet-* (rename, strings, cflow, VM, shield, max). Prefer --dotnet-wrap to embed the assembly in a native CLR-host EXE. Feeding CLR PE to the native Mode A stub packer is rejected.

Supported

Pack modes

Mode A (default): stub overlays the payload. Mode B (--mode inplace): mutate/virtualize in-place with .akirt injection — needs explicit protect ranges (SDK / --virt-func). Optional --output-dll emits a DLL host for DLL inputs.

Not supported

Rejected / out of scope

Cross-architecture packing, kernel drivers (.sys) as protect targets, and treating unmanaged packing of CLR payloads as supported.

What you get on Windows

  • EXE & DLL, three ISAs
    x86, x64 and ARM64 native PE (console or GUI). Matching builder/stub architecture required.
  • Compression + VM + Ulam
    LZ77, LZ4, LZNT1, LZMS, LZMA; optional --vm (multi-pass) and --ulam-layout integrity groups.
  • Anti-analysis stack
    Anti-debug, anti-tamper, anti-dump and related hardening controls.
  • Licensing ready
    Offline RSA serials and online activation tickets (WebLM format).
  • GUI + CLI + reports
    Qt desktop app, BinaryProtector_builder.exe, --report / --compat-report / --verify-packed for CI.

Windows SDK

Link AkiProtectSDK32/64/arm64 at build time. After packing, Begin/End calls are NOP’d and the SDK import is stripped — no SDK DLL at runtime.

Protection markers

AkiProtectBegin, BeginVirtualization, BeginMutation, BeginUltra, LockByKey variants, End. Builder auto-scans and protects the body between markers.

Licensing & activation APIs

SetSerialNumber, GetSerialNumberState/Data, GetCurrentHWID, ActivateOffline, GetActivationRequest, FindVirtualFileA — IAT-patched after pack when license/activation/virt-file are enabled. C/C++ header has the full surface; C#/VB/Pascal bindings currently omit Activate* (use C API or add P/Invoke).

Languages

C/C++ (full), C# / VB.NET / Delphi (markers + license; activation APIs mainly via C header today), MASM include, PHP/C# keygen.

Keygen SDK

AkiKeygenSDK for issuing offline RSA serials (same wire format as the public demo portal).

// C/C++ — mark a function for virtualization
#include "AkiProtectSDK.h"

int CheckLicense(void) {
    AkiProtectBeginVirtualization("CheckLicense");
    /* sensitive logic */
    AkiProtectEnd();
    return 1;
}

// After pack: AkiProtectSetSerialNumber / ActivateOffline are wired by the runtime

Some SDK service stubs (e.g. IsVirtualMachinePresent in unpackaged DLL) return conservative defaults until packed; see docs/sdk_markers.md.

CLI examples

Full flag reference: Documentation. Editions: Lite / Demo / Standard / Ultimate (--edition); default Ultimate.

# Native pack (Release-style)
AkiProtect_builder.exe --i myapp.exe --lz4 --vm --ulam-layout

# DLL with startup export
AkiProtect_builder.exe --i my.dll --o my_packed.exe --lz4 --vm --dll-export RunMe

# Mode B inplace (needs SDK markers or --virt-func)
AkiProtect_builder.exe --mode inplace --i myapp.exe --virt-mode virtualize --virt-func 0x401000

# DLL host output (DLL input required)
AkiProtect_builder.exe --i my.dll --o my_host.dll --output-dll --lz4 --vm

# .NET obfuscation / wrap (not Mode A CLR stub-pack)
AkiProtect_builder.exe --dotnet-harden --i managed.exe --o managed_obf.exe
AkiProtect_builder.exe --dotnet-wrap --i managed.dll --o managed_host.exe

# Compatibility check
AkiProtect_builder.exe --i candidate.exe --explain-unsupported

Try the shipping Windows stack

Request a 14-day demo serial, then protect with your Windows GUI/CLI/SDK. Online activate uses https://akiprotect.core-jmp.org/activate.php.

AkiProtect-Windows-x64-0.34.0.zip · 26 MB
sha256:e3d1fb11564873c1c122b0beb5bf746a47df14b34c4a9667bfc1cd5fe13f2e2e

AkiProtect-Windows-x86-0.34.0.zip · 1.6 MB
sha256:2cd214e977b6511140f3cd542499921e485191afd43a1ad1395686c575175d76

AkiProtect-Windows-arm64-0.34.0.zip · 1.6 MB
sha256:b7d991267a5462d9f49a472149aaf22c12f697d276303b8dcb80272c8a7474d5

SHA256SUMS