Code Virtualizer beta [4.0.0.30] (30-Sep-2026) |
|
[+] |
Optimized PoolMemory reservations and previews for large, fragmented VM workloads |
[+] |
Optimized VM core reservation planning and synthetic instruction insertion for large virtualized blocks |
[+] |
Added a Delphi FMX macOS ARM64 sample to the Code Virtualizer SDK examples folder |
[+] |
Changed the default OPTION_ADVANCED_MUTATION_RECURSION value for MUTATE macros from 2 to 5 |
[!] |
Fixed x64 protection failures when valid GS handler metadata was misidentified as an inline exception scope table |
[!] |
Fixed x64 MAP functions with a register-indirect tail jump and a separate return path being omitted despite a safe next-function boundary |
[!] |
Fixed x64 NativeAOT failfast when preserved VM return addresses were handled incorrectly |
[!] |
Fixed x64 SAR with byte, word and dword memory destinations failing virtualization |
[!] |
Fixed x86/x64 high-byte arithmetic virtualization producing incorrect conditional branches |
[!] |
Fixed seed-dependent Snake x86 XOR high-byte flags causing incorrect conditional branches |
Code Virtualizer beta [4.0.0.28] (24-Sep-2026) |
|
[+] |
Added the VIRTUALIZER_MUTATE_PROTECT_FUNCTION macro for whole-function mutation |
[!] |
Fixed x64 SAR on RIP-relative memory operands failing virtualization |
[!] |
Fixed x64 virtualized NativeAOT functions failing during garbage collection when a preserved return bridge crossed a VIRTUALIZER_END marker |
[!] |
Fixed x64 NativeAOT failures under Hardware-enforced Stack Protection when resuming after virtualized native calls |
[!] |
Fixed protected PE files retaining removed SDK DLL names in orphaned import metadata |
Code Virtualizer beta [4.0.0.26] (19-Sep-2026) |
|
[+] |
Added OPTION_ADVANCED_SKIP_PROTECTED_MARKER to omit the Code Virtualizer protected marker |
[+] |
Added OPTION_ADVANCED_SKIP_EXCEPTION_SECTIONS to embed x64 virtualized exception metadata in runtime or Stealth areas without creating .ehx or .ehs sections |
[+] |
Added OPTION_ADVANCED_SKIP_RELOCATION_SECTION to embed PE base relocations in runtime or Stealth Data areas without creating a dedicated relocation section |
[+] |
Virtualized code now skips and uniformly destroys VIRTUALIZER_END markers |
[+] |
Improved the Code Virtualizer GUI to show complete Protection Macro names when hovering over truncated entries |
[!] |
Fixed valid ELF files being incorrectly detected as unsupported Compression CV1 carriers |
[!] |
Fixed Compression CV1 protected ELF x86 specific applications crashing at startup |
[!] |
Fixed Mach-O protection failures when adding the first classic rebase to binaries without existing relocations |
[!] |
Fixed PE Stealth Area protection incorrectly rejecting writable areas created by historical StealthDataArea SDK headers |
[!] |
Fixed PE protection failures when valid COFF symbol and string tables were stored after the final section |
[!] |
Fixed Code Virtualizer PE SDK import cleanup creating an unnecessary additional .idata section instead of preserving the original import carrier |
[!] |
Fixed the Code Virtualizer GUI incorrectly prompting to save an unchanged project after restoring it at startup |
[!] |
Fixed Octopus64 VM virtualization failing on large protection regions due to its package-lowering expansion limit |
[!] |
Fixed Stealth Area capacity failures showing internal reservation errors instead of required sizes |
[!] |
Fixed x64 SSE2 CMPSD/CMPLTSD instructions being rejected during virtualization |
[!] |
Fixed x64 virtualized C++ exceptions failing when EH reentry stubs were prolog-mutated |
[!] |
Fixed intermittent instruction-reordering crashes on long dependency chains |
Code Virtualizer beta [4.0.0.25] (15-Sep-2026) |
|
[+] |
Improved VIRTUALIZER_END macro destruction with varied architecture-specific safe randomized instructions |
[!] |
Fixed ELF protection of binaries requiring 16 KB load-segment alignment |
[!] |
Fixed x64 MinGW/GCC protection failures when cleanup-only inline GNU LSDA metadata is used by virtualized exception handling |
[!] |
Fixed x64 protection failures in functions with large stack frames or arrays when valid GS cookie offsets coincided with readable image RVAs |
[!] |
Fixed ARM64 VM boundary handling of X18 for Windows and ELF Shadow Call Stack binaries |
[!] |
Fixed Compression CV1 causing virtualized ARM64 code to hang at runtime |
[!] |
Fixed ARM64 BTI-enabled applications crashing when VM dispatch transferred indirectly to generated handlers without BTI landing pads |
[!] |
Fixed protected PE DLLs without DynamicBase crashing when a base-address collision forced Windows to relocate them |
[!] |
Fixed Delphi x64 PE protection failures when rebuilding relocations with legacy singleton Debug Directory metadata |
[!] |
Fixed Snake x64 32-bit ALU operations not clearing the upper register half |
[!] |
Fixed x86/x64 virtualization of CRx and DRx register moves through native passthrough |
[!] |
Fixed valid separate Stealth Data Areas being rejected when conservative planning estimates exceeded the actual generated protection data size |
Code Virtualizer beta [4.0.0.24] (10-Sep-2026) |
|
[+] |
Added exact VM Code/Data capacity preflight before committing virtualized batches |
[+] |
Added OPTION_ADVANCED_VM_ENTRY_TRANSFER_MODE with DIRECT and ENCODED_DELTA_V1 modes |
[+] |
Improved VM runtime capacity diagnostics to distinguish total capacity, remaining free space and alignment fragmentation |
[+] |
Made VM Code/Data runtime reservations transactional, with automatic rollback when preparation or materialization fails |
[+] |
Improved VM runtime image reservation errors to identify the affected Code or Data area |
[!] |
Fixed MUTATE-only protection incorrectly requiring a Stealth Data Area when a single Stealth Code Area has sufficient space |
[!] |
Fixed automatic project restoration overwriting a newer input or project selected during GUI startup |
[!] |
Fixed GNU x86/x64 inline whole-function marker detection and made SDK carriers deterministic |
[!] |
Fixed ELF MAP fallback displaying ARM linker mapping symbols as function names and splitting function ranges |
[!] |
Fixed valid x64 MAP functions being omitted when one control-flow branch ends with an imported IAT tail jump |
[!] |
Fixed x86/x64 whole-function virtualization failing when the SDK marker begins within the first five entry bytes |
[!] |
Fixed x86/x64 virtualization of absolute memory operands whose encoded displacement is zero |
[!] |
Fixed ARM64 BTI-enabled applications crashing when virtualized RET handlers returned through a non-return indirect branch |
[!] |
Fixed ARM64 multiply-add and multiply-subtract virtualization clobbering live NZCV flags across VM boundaries |
[!] |
Fixed ARM64 CMP and CMN virtualization with shifted register operands |
[!] |
Fixed ARM64 MUL and IMUL virtualization overwriting live NZCV flags |
[!] |
Fixed London x86/x64 conversor for PUSH r16 virtualization using the operand width for stack-pointer arithmetic |
[!] |
Fixed large Stealth Area virtualization workloads failing after planning because final VM runtime Code capacity was estimated from macro count |
[!] |
Fixed insufficient Stealth Code or Data capacity sometimes reporting only a generic final VM runtime image reservation error |
[!] |
Fixed PE protection leaving stale Optional Header section-size totals after structural changes |
[!] |
Fixed Mach-O dylib protection failing when the library does not contain an LC_MAIN process entrypoint |
SEE ALL VERSIONS