• Home
  • Products
    • Code Virtualizer
    • Themida
    • WinLicense
    • Compare Products
  • Order
  • Support
  • Download





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

Code Virtualizer [3.2.0.0] (28-Aug-2024)
[+]
ARM64/x86/x64: Added parallel execution within each VM instance (32 virtual cores by default)
[+]
ARM64/x86/x64: Improved protection in FISH VM
[+]
ARM64/x86/x64: Improved protection in PUMA VM
[+]
ARM64/x86/x64: Improved speed loading/parsing the target binary
[+]
x86/x64: Improved detection of macro markers in GO applications
[+]
ARM64/x86/x64: Added support with "Compress Virtual Machine" for ELF and Mach-O binaries
[+]
ARM64/x86/x64:Improved detection of Stealth Areas
[+]
x64: Improved search of pointers to strings in macro markers (for encryption)
[+]
ARM64/x86/x64: Improved randomization in VM registers
[+]
ARM64/x86/x64: Added support for MAP files generated by IDA disassembler
[+]
x86/x64: Added support for encrypted strings when either "Optimize for Windows on ARM" or "OPTION_ADVANCED_NO_EXECUTABLE_WRITABLE_SECTION" is enabled
[+]
ARM64/x86/x64: Added support for encrypted strings with Stealth Regs area
[+]
ARM64/x86/x64: Added support for encrypted strings in PE/ELF/Mach-O files
[+]
ARM64/x86/x64: Added random pool data area
[+]
ARM64/x86/x64: New design for protected symbols/variables insertion
[+]
ARM64: Added support for command line switch "/checkprotected"
[+]
ARM64/x86/x64: Added string "Re-Encrypt" option
[+]
ARM64/x86/x64:Improved parsing of MAP files
[+]
ARM64/x86/x64: Falcon VM virtualization allowed in DEMO version
[+]
ARM64: Optimized search of macro markers when called from API functions
[+]
ARM64: Improved code mutation engine
[+]
ARM64: Added MUTATE macro
[+]
ARM64: Added support for nesting STR_ENCRYPT macros inside MUTATE macros
[+]
ARM64/x86/x64: Added Advanced Option "OPTION_ADVANCED_MAX_CPUS_IN_EACH_VM_INSTANCE" to change the maximum number of virtual cores for each VM instance
[+]
ARM64/x86/x64: Added "HW Stack Protection Support" option in GUI
[+]
x86/x64: Added compatibility with Hardware-enforced Stack Protection with option "Compress Virtual Machine"
[!]
x86/x64: Fixed specific compatibility issue finding protection macros via an external ASM module
[!]
ARM64: Fixed assembling of ADRP opcode with negative pages
[!]
ARM64/x86/x64: Minor bugs fixed

Code Virtualizer [3.1.9.0] (28-Mar-2024)
[+]
Improved virtualization of "REP string" opcodes
[+]
More improvements in the dereferences engine
[+]
Improved detection of protection macro markers in VB6
[+]
Added FALCON TINY VM support for VB6
[+]
Added map file parser for Xcode Clang compiler
[+]
Added .ini option "DisableStealthAreaScanning" to skip searching for Stealth Areas
[+]
Improved compatibility protecting Windows Device Drivers
[+]
ARM64: Improved speed loading/parsing binaries
[+]
ARM64: Improved support detecting protection macro markers for Delphi 12 applications
[+]
ARM64: Improved virtualization for "ASR reg, reg, imm"
[!]
Fixed random bug in repermutator engine when generating specific VM architectures
[!]
Fixed bug in dereferences engine when macros from a MAP file are unselected
[!]
ARM64: Fixed virtualization for specific TBZ/TBNZ instructions
[!]
ARM64: Fixed handling of "LDR reg, label" instruction for floating-point registers
[!]
ARM64: Fixed C include file for GCC compiler

SEE ALL VERSIONS


Copyright © 2004-2025 Oreans Technologies. All Rights Reserved.
Oreans, Themida and WinLicense are registered trademarks. All other trademarks used are properties of their respective owners.