Code Virtualizer [3.2.5.0] (17-Nov-2025) |
|
[+] |
ARM64/x86/x64: Added internal option to select different methods to find for strings to encrypt |
[+] |
ARM64/x86/x64: Improved detection of inserted macro markers inside MAP functions to virtualize |
[+] |
x86/x64: Improved patching of start macro markers in Go applications |
[+] |
ARM64/x86/x64: Improved compatibility with "Compress Virtual Machine" in specific applications |
[+] |
ARM64/x86/x64: Added Advanced Option "OPTION_ADVANCED_STOP_PROTECTION_USER_MACRO_WITHIN_MAP_FUNCTION" |
[+] |
ARM64/x86/x64: Added support for Lazarus MAP files |
[+] |
ARM64/x86/x64: ELF: Added support to insert functions to protect from debug symbols inside the input binary |
[+] |
ARM64/x86/x64: Improved processing of unselected protection macro markers |
[+] |
x86/x64: Added .INI option "EnableMacrosSupportMovRegIatCallReg" |
[+] |
ARM64/x86/x64: Added support for inserting MAP functions with non-Latin characters (e.g., Chinese, Japanese, etc.) |
[+] |
x64: Added Advanced Option "OPTION_ADVANCED_SKIP_GS_USAGE_ON_WINPE_BINARIES" for EFI modules |
[!] |
ARM64/x86/x64: Fixed performance degradation in a specific code mutation that was causing execution penalties on 13th+ Gen Intel Core processors |
[!] |
ARM64/x86/x64: Fixed compatibility issue with the "Compress VM" option with protection markers with no code to protect |
[!] |
ARM64/x86/x64: Fixed bug resolving MAP file extension when file paths contained dots |
[!] |
ARM64/x86/x64: Fixed exception when protecting a MAP function that contained macros such as CHECK_PROTECTION, CHECK_DEBUGGER or CHECK_CODE_INTEGRITY |
[!] |
ARM64/x86/x64:Fixed parsing of MAP files generated with old GCC versions |
[!] |
ARM64/x86/x64:Fixed detection of MAP functions in specific ELF binaries |
Code Virtualizer [3.2.4.0] (28-Jul-2025) |
|
[+] |
x64: Improved compatibility with Hardware Stack Protection on dereferenced virtual instructions |
[+] |
ARM64/x86/x64: Improved support for debug information located in the overlay area when using the Advanced Option "OPTION_ADVANCED_KEEP_DEBUG_INFO" |
[+] |
ARM64/x86/x64: Parallelized the parsing and generation of the Exception Directory for improved performance |
[+] |
ARM64/x86/x64: Improved Unicode string detection to avoid false positives from arbitrary data in wide‐string scans |
[+] |
ARM64/x86/x64: Improved parsing of GCC map files |
[!] |
x64: Fixed performance degradation on certain protected instances when running with microcode update 0x12F on 13th and 14th Gen Intel Core processors |
[!] |
x64: Fixed exception in string decryption in specific applications |
[!] |
ARM64/x86/x64: Fixed compatibility issue with OPTION_ADVANCED_ALIGN_LAST_SECTION in specific applications |
Code Virtualizer [3.2.3.0] (13-Mar-2025) |
|
[+] |
x64: Improved detection of switch/case patterns from specific compilers to be virtualized |
[+] |
ARM64: Added support for switch-case virtualization in Visual Studio C++ applications |
[+] |
ARM64/x86/x64: ELF: Improved handling of relocations in ELF binaries |
[+] |
ARM64/x86/x64: ELF: Improved handling of NOBITS type sections |
[+] |
x86/x64: Added support for STR_ENCRYPT in Golang applications |
[+] |
ARM64/x86/x64: Optimized memory allocation in protection time when adding multiple VMs |
[+] |
ARM64: Improved dereferences instructions engine |
[+] |
ARM64: Added VirtualizerDDK (sys/lib) for Windows device drivers |
[+] |
ARM64: Added support to detect protection markers with special MSVC compiler optimizations |
[!] |
ARM64: Fixed virtualization of specific "LDP Wn, Wn, [Wx, imm]" opcodes |
[!] |
ARM64: Fixed virtualization of specific "EXTR Wn, Wn, Wn, imm" opcodes |
[!] |
ARM64: Fixed virtualization of "LDURSW" opcodes |
[!] |
ARM64: Fixed virtualization of "MSUB Wn, Wn, Wn, Wn" |
[!] |
ARM64: Fixed virtualization of "NGC Wn, Wn" |
[!] |
ARM64: Fixed virtualization of "SBC Wn, Wn" |
[!] |
ARM64: Fixed virtualization of "MNEG rd, rn, rm" when "rd = rm" |
[!] |
ARM64/x86/x64: Fixed compatibitily issue with option "OPTION_ADVANCED_ENHANCED_SPECIAL_LOCATIONS" in specific applications |
[!] |
ARM64/x86/x64: Fixed a bug where MAP functions with the same starting address as the ending address of a previous MAP function were incorrectly skipped |
[!] |
x86/x64: Fixed an issue where MAP functions to virtualize with less than 5 bytes of code were incorrectly skipped |
[!] |
ARM64/x86/x64: Fixed exception in protection time in specific applications when adding dozens of VMs |
[!] |
ARM64/x86/x64: Fixed support in STR_ENCRYPT macros inside VM markers with option "OPTION_ADVANCED_ENHANCED_SPECIAL_LOCATION |
Code Virtualizer [3.2.2.0] (06-Nov-2024) |
|
[+] |
x64: Added new module for better support for x64 Handled exceptions in virtualized code (Advanced Option "OPTION_ADVANCED_ENHANCED_SPECIAL_LOCATIONS=YES") |
[+] |
x86/x64: Improved support for dereferences instructions in virtualized macros |
[+] |
x64: Improved switch/case support in virtualized code (use Advanced Option "OPTION_ADVANCED_ENHANCED_SPECIAL_LOCATIONS=YES") |
[+] |
ARM64: Added Windows ARM64 handled exceptions support on virtualized code (use Advanced Option "OPTION_ADVANCED_ENHANCED_SPECIAL_LOCATIONS=YES") |
[+] |
ARM64: Optimized space in target binary for encrypted strings |
[+] |
x86/x64: Added Advanced Option "OPTION_ADVANCED_JUMP_VM_WITH_INITIAL_NOP" (required for very specific applications) |
[+] |
ARM64/x86/x64: Improved parsing of Clang 9.0.0 MAP files |
[+] |
ARM64/x86/x64: Improved handling of UTF-8 strings to virtualize |
[+] |
ARM64/x86/x64: Added detection of function aliases sharing the same address in MAP files |
[+] |
ARM64/x86/x64: Enabled multiple "Unselect" in the MAP functions selection dialog |
[+] |
ARM64/x86/x64: Improved display of localized strings in the User Interface |
[+] |
ARM64/x86/x64: Added support for parsing Android NDK MAP files |
[+] |
ARM64/x86/x64: MAP function names are now displayed in the protection log (replacing start/end addresses) |
[+] |
ARM64/x86/x64: Added log in protection time to display the string encryption process |
[+] |
ARM64/x86/x64: Added log in protection time to display the virtualization of inserted code blocks |
[!] |
ARM64: Fixed virtualization of specific MSR/MZR opcodes in TIGER VM and FALCON VM |
[!] |
ARM64/x86/x64: Fixed detection when a MAP function to virtualize already contains a macro marker inside |
[!] |
ARM64/x86/x64: Mach-O: Fixed the removal of the VirtualizedSDK library in specific protected binaries |
[!] |
ARM64/x86/x64: Mach-O: Fixed reconstruction of LC_DYLD_CHAINED_FIXUPS chain in specific binaries |
[!] |
ARM64/x86/x64: Fixed a bug with setting VM instances when reloading a file in the User Interface |
[!] |
ARM64/x86/x64: Fixed a bug where the selected VM was not preserved when reloading a file in the User Interface |
[!] |
ARM64: Fixed an issue where an encrypted string was not destroyed when the same string pointer was used in different protection macros |
[!] |
ARM64: Fixed exception in protection time when searching for specific strings to encrypt |
[!] |
ARM64/x86/x64: ELF: Fixed bug on specific ELF binaries where macros were not unselected correctly from the User Interface |
[!] |
ARM64: Fixed memory leak processing strings to encrypt in protection time |
[!] |
ARM64: Fixed very random bug with a misaligned instruction inside the protection pool code |
[!] |
x64: Fixed wrong handling of encrypted strings for specific x64 opcodes when referencing a string |
[!] |
ARM64: Fixed wrong memory pointer with the decrypted string address for specific ARM64 opcodes |
[!] |
ARM64/x86/x64: Fixed loading of MAP functions when saving a project and reloading the file again |
[!] |
ARM64/x86/x64: Fixed loading of MAP functions when using special path constants in the input file |
[!] |
ARM64: Fixed protection error when specific encrypted strings are processed |
[!] |
ARM64/x86/x64: Fixed string Re-encrypt when strings were encrypted from VM macros and also STR_ENCRYPT macros were nested in the VM macro |
[!] |
ARM64/x86/x64: Fixed bug in User Interface where MAP functions associated to a specific VM were not selected in the Virtual Machine panel |
[!] |
ARM64: Fixed handling of encryted strings when both VM and STR_ENCRYPT macros are present with same pointers to a single string |
Code Virtualizer [3.2.1.0] (06-Sep-2024) |
|
[+] |
x86/x64: Improved spinlock mechanism for entering and exiting the VM |
[+] |
ARM64/x86/x64: Enhanced detection of localized strings for the string encryption feature |
[+] |
ARM64: Added a detection to identify when an encrypted string is referenced from different code locations |
[+] |
ARM64/x86/x64: Added log of unused "Stealth Data Area" space |
[!] |
x64: Fixed a race condition occurring during parallel execution within a specific VM |
[!] |
x86/x64: Fixed handling of specific virtualized instructions with "lock" prefix |
[!] |
x64: Fixed memory allocation issue when only a re-virtualized VM was added into the protected binary |
[!] |
ARM64/x86/x64: Fixed calculation of required Pool data area when using MAP functions |
[!] |
ARM64/x86/x64: Fixed exit code when protecting via command line and there are no protection macros inserted |
[!] |
x64: A MAP function from a x64 binary could be assigned to an ARM64 VM with "SHIFT+Arrow" |
[!] |
ARM64/x86/x64: Fixed issue not reading correctly the size of the Stealth Data Area |
SEE ALL VERSIONS