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 |
Code Virtualizer [3.1.8.0] (15-Jan-2024) |
|
[+] |
Improved detection of false strings in STR_ENCRYPT protection macros |
[+] |
x64: Improved support for try/catch inside virtualization markers |
[+] |
Added Advanced Option "OPTION_PROTECTION_DONT_PRESERVE_SECTIONS_FLAGS" |
[+] |
Improved restoration of GUI windows positions when a monitor has been disconnected |
[+] |
Added an .ini option "DisableMacroScanning" to skip parsing of the file for searching protection macro markers |
[+] |
Added warning when protecting Mach-O files with Stealth Mode but stealth regs area is not present |
[+] |
ARM64: Improved parsing of protection macros via API functions |
[!] |
x64: Fixed bug in "CAT_BLACK VM" |
[!] |
Fixed compatibility issue when inserting via MAP file and instruction after the last one is a JMP [IAT] |
[!] |
Fixed random exception when parsing specific applications when searching for strings to encrypt |
[!] |
ARM64: Fixed virtualization of arithmetic operations with SP register and LSL/UXTB extensions |
[!] |
ARM64: Fixed search of Mach-O API markers when using multi-core protection |
Code Virtualizer [3.1.7.0] (02-Oct-2023) |
|
[+] |
Added FALCON TINY VM, a very fast VM with low protection |
[+] |
Improved parallelism generating common (non revirtualized) virtual machines |
[+] |
Improved parallelism generating revirtualized VMs |
[+] |
Optimized LONDON virtual machine engine |
[+] |
Optimized generation of micro-ops for specific VM architectures |
[+] |
More improvements parallelizing the code virtualization process |
[+] |
Added full parallelization to search for protection macro markers |
[+] |
Improved compatibility with Advanced Option "OPTION_ADVANCED_VM_ENGINE_PRESERVE_FLAGS_ON_EXIT=NO" and re-virtualized VMs |
[+] |
Improved support in MUTATE macros in multithreading applications |
[+] |
Advanced Option "OPTION_ADVANCED_INITIAL_SEED" now produces a 100% exact match output file (even with parallel protection) |
[+] |
Decreased amount of protection memory when inserting multiple virtual machines |
[+] |
Added Advanced Option "OPTION_ADVANCED_SKIP_MISSING_MAP_FUNCTIONS" to keep protecting even if missing functions in MAP file |
[+] |
Added Advanced Option "OPTION_ADVANCED_LIMIT_CORES_FOR_PROTECTION" to restrict the number of cores during the protection stage |
[+] |
Improved detection of Golang applications |
[+] |
When stealth regs and code areas are present, no writable/executable sections will be created |
[+] |
Added Rust example file to use the Stealth Mode insertion |
[+] |
Opening of last project is now independent from x86/x64 and ARM64 versions |
[+] |
Logged the time taken for protection and final MD5 hash in the final protection report |
[+] |
ARM64: Optimized generation of DOLPHIN VM |
[+] |
ARM64: Improved decoding/encoding of ARM64 instructions |
[+] |
ARM64: Improved virtualization of test/compare branch instructions |
[+] |
ARM64: Added Stealth Mode insertion support |
[+] |
ARM64: Modified design of the ARM64 opcode mutator to support full parallelism |
[!] |
Fixed compatibility issue with macro markers in specific Golang applications |
[!] |
Fixed exit code when protecting via the command line and passing a non existing file to protect |
[!] |
Fixed exception in protection time when more than 100 customized VMs are present |
[!] |
ARM64: Fixed virtualization of EON instruction when "rd" and "rn" registers are the same |
[!] |
ARM64: Fixed specific virtualization of MOVK instruction when using "shift 48" under TIGER VM |
[!] |
ARM64: Fixed several virtualization issues on TIGER VM |
[!] |
ARM64: Fixed wrong modification of flags in specific opcodes in LION VM |
[!] |
ARM64: Fixed sign extension when decoding specific ARM64 instructions |
[!] |
ARM64: Fixed search of dereference code inside protection macros in computers with more than 32 cores |
Code Virtualizer [3.1.6.0] (15-Aug-2023) |
|
[+] |
Added Hardware-enforced Stack Protection support (Advanced Option "OPTION_ADVANCED_HARDWARE_STACK_PROTECTION_COMPATIBLE=YES") |
[+] |
Improved protection in all virtual machine architectures |
[+] |
Added multi-core support when mutating VM handlers (like in FISH BLACK VM) |
[+] |
Added detection of missing MAP functions to virtualize to stop the protection process |
[+] |
Added Advanced Option "OPTION_ADVANCED_VM_ENGINE_PRESERVE_FLAGS_ON_EXIT=NO" |
[+] |
ELF: Improved support with specific ELF files |
[+] |
ARM64: Added FISH LONDON VM for ARM64 |
[+] |
ARM64: Added TIGER LONDON VM for ARM64 |
[+] |
ARM64: Added TIGER EXTREME VM for ARM64 |
[+] |
ARM64: Added FISH EXTREME VM for ARM64 |
[+] |
ARM64:Improved performance mutating ARM64 opcodes |
[+] |
ARM64: Added support for Embarcadero Delphi ARM64 |
[+] |
ARM64: Added support to jump in the middle of the virtualized code from code outside of macro markers |
[+] |
ARM64: Improved virtualization of MOVK opcode |
[+] |
ARM64: Improved virtualization accuracy for the TBZ and TBNZ opcodes when testing the 31st bit position |
[+] |
ARM64: Improved support when handling not recognized instructions |
[+] |
ARM64: Enhanced performance parsing the file to protect |
[+] |
ARM64: Mach-O: Added support to link with the SDK via function names instead of inline assembly |
[+] |
ARM64: ELF: Added support to link with the SDK via function names instead of inline assembly |
[+] |
ARM64: Updated Delphi include files |
[+] |
ARM64: Added multi-core support to search for protection macros |
[!] |
Fixed minor GUI issue when no selected any file to protect |
[!] |
ELF: Fixed issue where unselected protection macros were still processed |
[!] |
ELF: Fixed compatibility issue finding protection macros in Golang binaries |
[!] |
ARM64: Minor bugs fixed when parsing Mach-O and ELF files |
[!] |
ARM64: Fixed virtualization of Load Unscaled instructions |
[!] |
ARM64: Fixed virtualization of LDURSW instruction |
[!] |
ARM64: Fixed virtualization of MADD with same destination and source registers |
[!] |
ARM64: Fixed virtualization of arithmetic operation with 64-bit immediate operand |
[!] |
ARM64: Fixed wrong opcode mutation when generating FISH BLACK VM for ARM64 |
[!] |
ARM64: Fixed random exception when disassembling invalid opcodes |
[!] |
Minor bugs fixed |
Code Virtualizer [3.1.5.0] (24-Jul-2023) |
|
[+] |
Added ARM64 native protection. Available for free at www.oreans.com/Release/VirtualizerArm64Install.exe |
[+] |
Added support for virtualization protection macro markers in .NET Native AOT binaries |
[+] |
ELF: Added insertion of protection code in new sections |
[+] |
Mach-O: Added insertion of protection code in new sections |
[+] |
Improved parsing of MAP files |
[+] |
Added MAP parsing for Mach-O files |
[+] |
Added Advanced Option "OPTION_ADVANCED_NO_EXECUTABLE_WRITABLE_SECTION" |
[+] |
Added option "FindMacrosSkipJmpIat" |
[+] |
Added option "FindStringsLeaSupport" |
[+] |
Added command line argument "/str_encrypt_locale" |
[+] |
Added command line argument "/str_encrypt_in_data_section_only" |
[+] |
Added command line argument "/find_macros_with_indirect_jumps" |
[+] |
Added command line argument "/find_macros_skip_call_imm" |
[+] |
Added command line argument "/find_macros_skip_jmp_iat" |
[+] |
Added command line argument "/find_macros_skip_jmp_iat" |
[!] |
x64: Fixed virtualization of "LEA REG32, [REG32 + REG32 * scale]" in TIGER VM |
[!] |
x64: Fixed virtualization of "LEA REG16, [REG16 + REG16 * scale]" in TIGER VM |
[!] |
Fixed very specific bug when protecting multiple applications without closing the User Interface |
[!] |
Fixed exception when the application to protect is locked by another process while protecting |
Code Virtualizer [3.1.4.0] (10-Nov-2022) |
|
[+] |
Improved parallel protection |
[+] |
Added LION VM for Visual Basic 6 applications |
[+] |
Increased maximum of manual insertion of macros (via RVA address) up to 5000 |
[+] |
Added option to avoid specific code sequences when searching for protection markers |
[+] |
Optimized memory allocation for with multi-core protection |
[+] |
Added option "FindMacrosWithIndirectJumps" to find for indirect calls/jumps to protection macros |
[!] |
Fixed compatibility issue virtualizing specific memory access instructions |
[!] |
Linux: Fixed compatibility issue with ELF64 files |
[!] |
Minor bugs fixed |
Code Virtualizer [3.1.3.0] (26-Apr-2022) |
|
[+] |
Improved detection of protection macros with specific compiler optimizations |
[+] |
Improved exception handling inside virtualized code |
[+] |
Improved processing of relocations in specific DLLs |
[!] |
Fixed compatibility issue running Virtualizer.exe under Linux/Wine |
[!] |
Fixed exception processing MAP functions to virtualize from command line protection |
[!] |
Fixed construction of Exception directory with re-virtualized VMs |
[!] |
x64: Fixed deadlock when exception happened in virtualized code |
[!] |
Fixed exception on specific Windows 11 computers when protecting via the User Interface |
[!] |
Minor bugs fixed |
Code Virtualizer [3.1.2.0] (15-Aug-2021) |
|
[+] |
Added new Virtual Machine: "LION VM" |
[+] |
Improved GCC Map file parser |
[+] |
Memory optimizations when parsing big binaries to protect |
[!] |
Fixed out of memory exception processing applications with huge Exception Directory |
Code Virtualizer [3.1.1.0] (27-Apr-2021) |
|
[+] |
Improved parsing of protection macros |
[+] |
Added support for binary files with corrupted relocs section |
[+] |
Added support for Clang Map files |
[+] |
Improved GCC Map file parser |
[+] |
Added Advanced Option "OPTION_ADVANCED_STR_ENCRYPT_IN_DATA_SECTION" to search for strings only in the data section |
[!] |
Fixed bug creating the Exception Directory with Stealth Mode insertion in specific applications |
[!] |
Fixed wrong exit code when application is already protected |
Code Virtualizer [3.1.0.0] (02-Oct-2020) |
|
[+] |
Improved compatibility with Golang applications and re-virtualization |
[+] |
Added Advanced Option to code sign the protected application |
[+] |
Improved Advanced Option "OPTION_ADVANCED_XBUNDLER_FAKE_DLL" |
[+] |
Improved detection of wrong macro markers from compiler optimizations |
[+] |
Improved MAP file parsing |
[+] |
Added include files and examples for Rust |
[+] |
Added Advanced Option "OPTION_ADVANCED_MANUAL_MUTATE_MACRO_xx" |
[+] |
Improved option "Get name from MAP File" in "Protection Macros" panel |
[!] |
Fixed random exception loading multiples projects without closing the User Interface |
[!] |
Fixed exception handling support in Golang applications |
[!] |
Fixed exception when STR_ENCRYPT is within VM macros and "UNICODE/ASCII on VM" encryption is enabled |
[!] |
Fixed compatibility issue parsing specific PowerBuilder files |
[!] |
Fixed exception processing selected MAP functions with very big function names |
Code Virtualizer [3.0.9.0] (05-Jul-2020) |
|
[+] |
Added RDTSC virtualization |
[+] |
Improved MAP file parser |
[+] |
Improved MUTATE macro |
[+] |
Improved detection of END macro marker with TCO (Tail Call Optimization) |
[+] |
IMAGE_SCN_MEM_NOT_PAGED flag propagated to new section with virtualized code |
[!] |
Fixed exception adding MAP functions with very long names |
[!] |
Fixed exception when all MAP functions are processed as MUTATE macros |
[!] |
x64: Fixed exception adding entries in the Exception Directory for specific applications |
[!] |
Number of Virtual Machines instances was not restored correctly from project file closed |
[!] |
Fixed random exception when processing MAP files with different function names pointing to the same code location |
[!] |
Fixed very rare exception analysing specific protection macros |
Code Virtualizer [3.0.8.0] (14-Apr-2020) |
|
[+] |
Added virtual machine selection for different functions in MAP files |
[+] |
Removed previous selected Virtual Machines when refreshing the input file to protect |
[+] |
Added option "StrEncryptInDataSectionOnly" in .INI file to find strings in data sections |
[!] |
Fixed wrong exit code when output file name was missing |
[!] |
Fixed exception in 64-bit with "OPTION_VIRTUAL_MACHINE_ISOLATE_REGS=YES" |
[!] |
Fixed Import table in VirtualizerDDK.sys (64-bit) |
Code Virtualizer [3.0.7.0] (06-Feb-2020) |
|
[+] |
Added more optimizations for Windows on ARM |
[+] |
Added support for GCC map files |
[+] |
Added Advanced Option "OPTION_MACROS_SWITCH_CASE_SUPPORT" |
[!] |
Fixed hang when processing macro blocks with special invalid opcodes |
[!] |
Fixed bug protecting a file with read only attributes |
[!] |
Minor bugs fixes |
Code Virtualizer [3.0.6.0] (17-Dec-2019) |
|
[+] |
Added Option "Optimize for Windows on ARM" |
[+] |
Improved detection of dereferenced instructions inside protection macros |
[+] |
Removed Security Directory on protected file |
[+] |
Improved detection of macro markers in specific VB6 applications |
[+] |
Improved code dereference detection in protection macros |
[!] |
STR_ENCRYPT macro was not parsed correctly on VB6 applications |
[!] |
Fixed exception scanning strings inside virtualizer macros when pointing to unitialized section |
[!] |
Fixed bug storing international chars in project file |
Code Virtualizer [3.0.5.0] (24-Oct-2019) |
|
[+] |
Improved detection of jump references from outside macro markers |
[+] |
Improved detection of wrong macro markers due to compiler optimizations |
[+] |
Added try/except support inside VM macros |
[+] |
Improved detection of end of entry point in option "Entry Point Virtualization" |
[+] |
Added Advanced Option "OPTION_ADVANCED_DISABLE_REPORT_STRINGS_TO_ENCRYPT" |
[+] |
Improved viewing of Protection panel with very high DPI scaling |
[+] |
Improved speed virtualizing "DOLPHIN VM" opcodes |
[+] |
Improved parsing of MAP files using multiple threads |
[+] |
Forms are centered on the screen if stored coordinates are higher than supported |
[+] |
Added option in Protection Macros panel to get the function name for a specific memory address |
[!] |
Fixed issue resolving external jumps inside MUTATE macros |
[!] |
Fixed processing of RIP addressing on "VMOVDQU xmm_reg, [rip_displacement]" |
[!] |
x64: Fixed compatibility issue rebuilding the Exception Directory in some protected instances |
[!] |
Fixed exception removing the linking with the SDK DLL in files with mangled import table |
[!] |
Fixed parsing of RVA values in some MAP files |
[!] |
x64: High DWORD in RAX was set to zero after STR_ENCRYPT |
[!] |
Fixed exception reporting long encrypted strings not removed from original location |
[!] |
Fixed memory leak when loading/refreshing multiple applications in the User Interface |
[!] |
Fixed hang when processing invalid opcodes within the STR_ENCRYPT macro |
Code Virtualizer [3.0.4.0] (09-Aug-2019) |
|
[+] |
Improved handling of strings in STR_ENCRYPT macros |
[+] |
Allow resizing of protection panel |
[+] |
Allow nesting of STR_ENCRYPT macros within STR_ENCRYPT macros |
[+] |
Improved speed parsing MAP files |
[+] |
Improved detection of external referenced pointers to the middle of protection macros |
[+] |
Added VirtualizerAsmSDK for Delphi (supporting macOS 64-bit) |
[!] |
Fixed removal of string from original location where referenced several times within a STR_ENCRYPT macro |
[!] |
Fixed exception when right-clicking on column title on Virtual Machines grid |
[!] |
Fixed issue with relocations in some applications using the STR_ENCRYPT macro |
Code Virtualizer [3.0] (21-Jun-2019) |
|
[+] |
Released to our customers |
Code Virtualizer beta [3.0] (09-Apr-2018) |
|
[+] |
New User Interface |
[+] |
New Protection Core |
[+] |
Added Entry Point Virtualization |
[+] |
Added STR_ENCRYPT macro |
[+] |
Added UNPROTECTED macro |
[+] |
Added Advanced Options panel for custom options |
Code Virtualizer [2.2.2.0] (17-Feb-2017) |
|
[+] |
Improved recognition of macro markers in special code sequences in some applications |
[!] |
Fixed bug mutating multi-byte NOP opcodes |
[!] |
Mach-O: Fixed section flags with Stealth Mode in data section |
Code Virtualizer [2.2.1.0] (19-Sep-2016) |
|
[+] |
Improved protection entering into the virtual machine |
[+] |
Improved support detecting dereferences macros |
[+] |
Added support for GoLang 1.6/1.7 |
[!] |
Dolphin VM: Fixed exception when virtualizing a single instruction on a macro block |
Code Virtualizer [2.2.0.0] (31-May-2016) |
|
[+] |
Improved internal protection |
[+] |
FISH VM: Added new protection templates |
[+] |
TIGER VM: Added new protection templates |
[+] |
Added option "StrEncryptLocale" in Virtualizer.ini to set the current locale to find strings to virtualize |
Code Virtualizer [2.1.9.0] (06-May-2016) |
|
[+] |
Added /isolate command line parameter to allow multiple instances of Virtualizer.exe to protect concurrently |
[+] |
Added file version of file to protect in "File Information" panel |
[!] |
Fixed exception in protection time when combining specific Virtual Machines |
[!] |
Fixed compatibility issue with option "Strip Relocs" in specific applications |
[!] |
Fixed detection of nested macros in ELF/Mach-O files |
Code Virtualizer [2.1.8.0] (19-Apr-2016) |
|
[!] |
Fixed race condition when generating virtual machines with multi-core support |
Code Virtualizer [2.1.7.0] (01-Apr-2016) |
|
[+] |
Improved speed in virtual machines generation and opcodes virtualization |
[+] |
Added support for enviroment variables in input/output filenames (i.e. %temp%dirfile.exe) |
[+] |
Improved support for relative paths in input/output filenames |
[!] |
Tiger64 VM: Fixed virtualization of "POP MEM16/REG16" |
Code Virtualizer [2.1.6.0] (28-Jan-2016) |
|
[+] |
Added new protection templates for virtual machines |
[+] |
Improved speed generating Virtual Machines under multi-core processors |
[+] |
Improved speed virtualizing code |
[+] |
Improved speed processing relocations while virtualizing code |
[+] |
x64: Improved support with x64 Structured Exception Handling in virtualized code |
[+] |
Added option "DontSetExecutableWritableVMlocation" for Stealth Mode (in virtualizer.ini file) |
[+] |
Added option "DefaultDPI" to manually increase the DPI for the GUI (in virtualizer.ini file) |
Code Virtualizer [2.1.5.0] (13-Nov-2015) |
|
[+] |
Added new protection templates for all protection virtual machines |
[+] |
Fish/Tiger/Dolphin VM: Modified specific protection templates |
[+] |
Changed folder layout of "custom vm" files |
[+] |
Added support in "/checkprotected" command line parameter to accept a ".cv" project file |
[!] |
Fixed virtualization bug with SCAS instruction |
[!] |
x64: Fixed compatibility issue destroying virtualized strings referenced from outside macro markers |
[!] |
Fixed mutation of "MOV REG64, -IMM32" |
Code Virtualizer [2.1.4.0] (21-Sep-2015) |
|
[+] |
Fish/Tiger/Dolphin VM: Added new protection template |
[+] |
Improved speed searching for protection macros |
[!] |
Improved mutation engine |
[!] |
Fixed wrong macro detection in specific code pattern |
[!] |
Fixed specific mutation template for "MOV REG, [immediate]" |
[!] |
Fixed mutation in specific FPU opcodes |
Code Virtualizer [2.1.2.0] (04-Aug-2015) |
|
[+] |
Added support to detect virtualization macros in Golang 1.5 beta |
[+] |
Added support in Golang applications with stack trace for virtualized code |
[+] |
Improved searching of the Stealth Area |
[+] |
Improved support mixing public with private custom vms |
[!] |
Dolphin VM: Fixed RIP/EIP-relative addressing |
[!] |
Dolphin VM: Fixed flags status in specific virtualized instructions |
Code Virtualizer [2.1.1.0] (22-Jun-2015) |
|
[+] |
Added DOLPHIN virtual machine |
[+] |
Added EAGLE virtual machine |
[+] |
Improved speed generating internal virtual machines |
[+] |
Improved speed virtualizing code |
[+] |
Added support for strings virtualization inside MUTATE_ONLY macros |
[+] |
Improved support injecting protecting code into new sections |
[+] |
Added support for DPI scaling in User Interface |
Code Virtualizer [2.1.0.0] (26-May-2015) |
|
[+] |
Added support in VM macros with x64 Structured Exception Handling |
[+] |
Improved detection of string references in Virtualize Strings options |
[+] |
Improved support in disassembler for rare multi-byte NOP opcodes |
[+] |
Improved support for dereferences inside macro markers |
[+] |
ELF: Added support with binaries with no Program Headers |
[+] |
ELF: Added detection of relocatable file types |
[+] |
ELF: Improved detection of spurious strings to virtualize |
[!] |
Fixed compatibility issue inserting new section in specific PE32+ applications |
Code Virtualizer [2.0.9.0] (17-Feb-2015) |
|
[+] |
ELF64: Optimize ELF_MAXPAGESIZE to 64Kb (instead of common 2Mb alignment) |
[+] |
Added detection for pointers outside macro markers referencing a location inside a macro |
[+] |
Added support for external references inside macro markers |
[+] |
Added header to insert the Stealth Area in the data section |
[+] |
Mach-O: Added support to insert the Stealth Area in the data section |
[+] |
FISH VM: Improved virtualization of "POP REG16" |
[+] |
FISH VM: New protection templates |
[+] |
Added correct OMF LIB for x64 |
[!] |
FISH64 VM: Fixed virtualization of "XCHG REG32, REG32" |
[!] |
Fixed compatibility issue with "Compress Virtual Machine" in specific applications |
Code Virtualizer [2.0.8.0] (15-Sep-2014) |
|
[+] |
Added support to read functions to virtualize from Excelsior MAP files |
[+] |
Added support to insert macros in Golang compiled binaries (Windows, Linux, Mac i386/amd64) |
[+] |
Improved merging of Virtual Machine operation handlers |
[+] |
Improved support of "Virtualized Strings" feature |
[+] |
Added log in User Interface of processed virtualized ANSI/UNICODE strings |
[+] |
Improved search of protection macros via API |
[+] |
Improved search of end function via MAP file |
[+] |
Improved destruction of original UNICODE strings when virtualized |
[+] |
Improved searching of ANSI/UNICODE strings to virtualize |
[+] |
Improved handling of Mach-O FAT files |
[+] |
Deleted intermediate x86/x64 files when protecting FAT binaries |
[!] |
Fixed temporal hang in User Interface while virtualizing protection macros |
[!] |
Fixed compatibility issue protecting FAT files under Wine |
[!] |
Fixed virtualization of REPxx CMPSW |
[!] |
Fixed MUTATE macro on ELF/Mach-O files |
[!] |
Fixed virtualization of "XCHG RAX, R8" |
[!] |
Fixed very specific virtualizations of "MOV REG64, negative_32_bit_value" |
[!] |
Fixed log (CVlog.txt) of encrypted ANSI/UNICODE strings |
Code Virtualizer [2.0.7.0] (29-Jul-2014) |
|
[+] |
Added "Compress Virtual Machine" for Mac OS X Mach-O files |
[+] |
Redesigned handling of virtualized FLAGS |
[+] |
Improved internal virtualized opcode tester |
[+] |
Improved obfuscation to enter inside a Virtual Machine |
[+] |
Improved virtualization of joined instructions |
[+] |
Added message when protection cannot be inserted in last segment in ELF shared objects |
[!] |
Fixed handling of special sections flags in device drivers |
[!] |
TIGER VM: Fixed virtualization of "PUSH IMM16" |
[!] |
TIGER VM: Fixed restoring of Carry flag in DEC/INC opcode |
[!] |
FISH VM: Fixed flags in DEC/INC [word/byte] opcodes |
Code Virtualizer [2.0.6.0] (20-May-2014) |
|
[+] |
Mach-O: Initial support to protect Mach-O i386/x86_64 Mac OS X files |
[+] |
Improved reading of relocations |
[+] |
Optimized search of macros inserted via "defined assembly function" |
[+] |
Modified C Include file to support GCC inline assembly with "std=c99, std=c11" option |
[+] |
Added "Stealth Mode" example for C language |
[+] |
Added option "Play sound when protection finishes" |
[+] |
Improved memory allocation when encrypting Ansi and Unicode string |
[+] |
Improved /checkprotected command line parameter |
[!] |
ELF: Fixed memory leak in Linux/ELF protection module |
[!] |
Fish VM: Fixed flags in some 8-bit instructions |
[!] |
Fixed virtualization of REP/REPNZ/REPZ in 64-bit applications |
[!] |
Fixed handling of "PUSHAD" in VIRTUALIZER_MUTATION_ONLY macro |
[!] |
Fixed random exception when protecting via command line |
[!] |
x64: Fixed exception when handling macros with no code |
[!] |
Fixed include file for "D language" |
Code Virtualizer [2.0.5.0] (15-Apr-2014) |
|
[+] |
FISH VM: New protection templates |
[+] |
Added "Compress Virtual Machine" for Linux ELF files |
[+] |
Added internal configuration option (Virtualizer.ini) to set the complexity of the VIRTUALIZER_MUTATE_ONLY macro |
[!] |
Fixed virtualization of "REP (qword) string-op" |
Code Virtualizer [2.0.4.0] (18-Mar-2014) |
|
[+] |
Initial support to protect Linux ELF32-i386 and ELF64-x86_64 binaries |
[+] |
Added PUMA VM (White, Red, Black) |
[+] |
Added SHARK VM (White, Red, Black) |
[+] |
Added support in User Interface to run under Wine and Mac/Crossover |
[!] |
Fixed virtualization of "MOV RAX, [IMM64]" |
[!] |
Flags were not preserved in "RET" opcode virtualization |
[!] |
Fixed GUI bug in "Virtual Machine selection" when macros were only inserted from MAP file |
Code Virtualizer [2.0.3.0] (19-Dec-2013) |
|
[+] |
TIGER VM: New protection templates |
[+] |
FISH VM: New protection templates |
[+] |
Added VIRTUALIZER_MUTATE_ONLY macro to mutate code instead of virtualization |
[+] |
Improved detection of macros via "JMP [macro_name]" |
[+] |
TIGER VM: Improved virtualization of "PUSH IMM8" |
[!] |
TIGER VM: Fixed virtualization of "REPNZ SCAS" |
[!] |
FISH VM: Fixed virtualization of "REPNZ SCAS" |
[!] |
Fixed "Strip Relocs" option in specific applications |
[!] |
FISH VM: Fixed flags in "CMPS" virtualization |
[!] |
Fixed mutation of "CQO" instruction |
Code Virtualizer [2.0.2.0] (15-Oct-2013) |
|
[+] |
New Virtual Machine model implemented |
[+] |
New Virtual Machine added: TIGER VM |
[+] |
New Virtual Machine added: FISH VM |
[+] |
Added option to insert the protection in Stealth Mode |
[+] |
Added option to insert the protection code in a new section |
[+] |
Added option to compress the protection code |
[+] |
Added option to virtualize ANSI and UNICODE strings referenced inside protection macros |
[+] |
Improved handling of relative paths in command line protection |
[+] |
Improved x64 instruction decoder |
[+] |
Improved parsing of MAP files for 64-bit applications |
[+] |
Improved option "Strip Relocs" in specific x64 applications |
[+] |
Improved compatibility with specific Visual Studio 2012 applications |
[+] |
Improved "RET nn" virtualization in x64 |
[+] |
Improved LODSD virtualization in 64-bit applications |
[+] |
Improved emulation of x86 Direction Flag |
[+] |
Improved virtualization of CLI instruction |
[+] |
Improved macro analysis via defined function in x64 applications |
[+] |
Improved hiding of constant values in virtualized code |
[+] |
Improved internal disassembler |
[+] |
Added command line switch (/checkprotected) to check if a file is already protected by Code Virtualizer |
[+] |
Added drag and drop in user interface |
[!] |
Fixed detection of JMP [MACRO_END] |
[!] |
Fixed compatibility issue with relocations with VirtualAddress = 0 |
[!] |
Fixed handling of multi-byte NOP opcodes |
[!] |
Fixed RSP register arithmetic |
[!] |
Fixed virtualization of "IDIV [stack_pointer]" |
[!] |
Fixed virtualization of "BTS/BTR QWORD" |
[!] |
Fixed virtualization of "LEAVE" opcode in x64 |
[!] |
Fixed virtualization of MOVSQ/STOSQ instruction |
[!] |
Fixed virtualization of "xchg REG32, ESP" |
[!] |
Fixed virtualization of "MOVZX/MOVSX dword" in x64 applications |
[!] |
MAP file was not properly parsed when protecting via command line |
[!] |
Fixed IAT stripping of VirtualizerSDK.dll |
[!] |
Fixed last section size for boot drivers |
[!] |
Minor bugs fixed |
Code Virtualizer [1.3.8.0] (22-Dec-2008) |
|
[+] |
Improved protection of 64-bit DLLs |
[+] |
Improved analysis of x64 instructions |
[+] |
Improved compatibility with Re-Virtualization in specific applications |
[+] |
Improved handling of empty macros in 64-bit applications |
[!] |
Fixed Flags correction in x64 ADC instruction |
[!] |
Fixed compatibility issue stripping relocations on specific 64-bit applications |
[!] |
Fixed virtualization of REP STOS in 64-bit applications |
[!] |
Fixed exception on CheckVirtualizer.exe for specific applications |
[!] |
Fixed exception in command line protection in applications with empty VIRTUALIZER macros |
[!] |
Fixed exception when protecting more than 1000 macros via command line |
[!] |
Minor bugs fixed |
Code Virtualizer [1.3.7.0] (29-Sep-2008) |
|
[+] |
Improved mutation of specific x86 instructions |
[+] |
Improved compatibility protecting specific Device Drivers |
[+] |
Improved command line protection |
[!] |
Fixed compatibility issue with Re-virtualization in specific applications |
[!] |
Fixed compatibility issue resolving relocations in specific instructions |
[!] |
Fixed exception when adding more than 1000 macros |
[!] |
Minor bugs fixed |
Code Virtualizer [1.3.6.0] (11-Jun-2008) |
|
[+] |
Improved protection |
[+] |
Improved support protecting Vista boot drivers |
[+] |
All traces that a file is protected by Code Virtualizer are removed |
[+] |
Added new way to insert macros for x64 Applications and Device Drivers |
[!] |
Fixed virtualization of "DIV [esp + reg32 + imm]" |
[!] |
Minor bugs fixes |
Code Virtualizer [1.3.5.0] (23-Jan-2008) |
|
[+] |
Improved protection in some VM handlers |
[+] |
Improved handling of addresses > 0x8000000000000000 |
[!] |
Fixed compatibility issue protecting some specific functions via MAP file |
[!] |
Fixed compatibility issue with RIP addressing in some 64-bit DLLs |
[!] |
Fixed issue renaming last section in protected executables |
[!] |
Fixed exception when inserting macros via MAP file and revirtualization enabled in some applications |
[!] |
Minor bugs fixed running the User Interface with restricted user rights |
Code Virtualizer [1.3.4.0] (01-Oct-2007) |
|
[+] |
Independent customization for Multiple Virtual Machines |
[+] |
New macros added to support specific VM definition |
[+] |
Improved execution of complex x86 instructions |
[+] |
Improved VM complexity and dynamic opcodes |
[!] |
Fixed compatibility emulating complex stack addressing |
[!] |
Minor bugs fixed |
Code Virtualizer [1.3.3.0] (28-May-2006) |
|
[+] |
Added support to specify file to protect from command line (instead of application in project file) |
[+] |
Improved search engine for MAP macros |
[+] |
Improved reading of .CRM file (MAP macros) |
[!] |
Fixed definition of PureBasic macros (Thanks Mitchell Vincent and Terence Agius) |
[!] |
Fixed bug displaying functions when MAP macros and SDK macros are mixed together |
[!] |
Minor bugs fixed in 32-bit disassembler |
Code Virtualizer [1.3.2.0] (14-May-2007) |
|
[+] |
Improved virtualization engine |
[+] |
Multilanguage support |
[+] |
Improved parsing functions in MAP files for VS2003 and VS2005 |
[+] |
Improved disassemble module for 32-bit code |
[!] |
Fixed problem in user interface under Vista |
[!] |
Minor bugs fixed |
Code Virtualizer [1.3.1.0] (20-Dec-2006) |
|
[+] |
Added Multi-Branch Technology |
[+] |
32-bit: New mutation engine for Virtual Machine opcode handlers |
[+] |
Refresh button added for Input file |
[+] |
Current directory changed when testing the protected application inside Code Virtualizer |
[!] |
32-bit: Relocation fixed for non emulated FPU opcodes in DLLs |
[!] |
64-bit: RIP displacement fixed for non emulated FPU opcodes |
[!] |
Fixed compatibility with Intel compiler optimizations when calling functions from virtualized blocks |
Code Virtualizer [1.3.0.0] (10-Oct-2006) |
|
[+] |
Added microcode mutation for 64-bit applications |
[+] |
Added VIRTUALIZER_MUTATEx_START macro to set up the level of mutation for each macro |
[+] |
Added fake stack emulation option (compatibility with some PureBasic applications) |
Code Virtualizer [1.2.9.0] (29-Sep-2006) |
|
[+] |
Added option to mutate the internal virtual machine microcode (32-bit) |
[!] |
Fixed race condition in multiprocessor systems (multithreaded applications) |
[!] |
Fixed deadlock in multiprocessor systems with Revirtualization enabled (multithreaded applications) |
Code Virtualizer [1.2.8.0] (14-Sep-2006) |
|
[+] |
Improve scanning of Virtualizer macros |
[!] |
Fixed flags emulation in NEG, SBB, ADC, RCL, RCR instructions |
[!] |
Fixed issue with corrupted project files in some systems |
Code Virtualizer [1.2.7.0] (21-Aug-2006) |
|
[+] |
Improved execution of non recognized opcodes to virtualize |
[!] |
Fixed random crash on some machines when protecting with more than one Virtual Machine |
[!] |
Fixed compatibility issue with Re-Virtualization when including several virtual machines |
[!] |
Minor bugs fixed |
Code Virtualizer [1.2.6.0] (25-Jul-2006) |
|
[+] |
Improved detection of Visual Basic native applications |
[!] |
Fixed issue related to "Discardable section" flag for device drivers |
[!] |
Fixed virtualization of "IDIV reg16" |
[!] |
Fixed virtualization of "MOVSX/MOVZX reg, [esp/rsp]" |
[!] |
Fixed issue loading some project files with no macros to virtualize |
[!] |
Minor bugs fixed in user interface |
Code Virtualizer [1.2.5.0] (30-Jun-2006) |
|
[+] |
Added Re-Virtualization technology for 64-bit applications |
[!] |
64-bit: Fixed virtualization of "POP QWORD PTR [reg64]" instruction |
[!] |
64-bit: Fixed virtualization of "IMUL/IDIV reg64" instruction |
[!] |
64-bit: Fixed virtualization of CMPSQ/MOVSQ/LODSQ/SCASQ/STOSQ instructions |
[!] |
64-bit: Fixed virtualization of "JMP/CALL qword ptr [src]" instruction |
Code Virtualizer [1.2.0.0] (28-Jun-2006) |
|
[+] |
Re-Virtualization technology added for 32-bit applications |
[+] |
Optimized speed in code transformation |
[!] |
Fixed fake detection of Device Drivers (.sys) files |
[!] |
Fixed virtualization of "OP reg32/reg64, esp/rsp" |
[!] |
Fixed virtualization of "XCHG [esp], reg/imm" |
[!] |
Fixed Virtualization of POPAD |
[!] |
Fixed Virtualization of "SHL reg16, imm" |
[!] |
Fixed Virtualization of "push word imm16" |
[!] |
Fixed Virtualization of "LOCK" opcode prefix |
[!] |
Minor bugs fixed |
Code Virtualizer [1.1.4.0] (22-Jun-2006) |
|
[+] |
Added support for BPL files |
[!] |
Fixed compatibility issue adding macros in Visual Basic |
[!] |
Fixed virtualization of instruction "ADD ESP/RSP, imm" |
[!] |
Fixed virtualization of "OP [ESP/RSP + imm], reg/imm" |
[!] |
Fixed bug converting Visual Basic macros into native code for some OCXs |
Code Virtualizer [1.1.0.0] (19-Jun-2006) |
|
[+] |
Added support to select functions to protect from a MAP file |
[+] |
Added support for "RET n" instruction in 32-bit mode |
[+] |
Flushed protected file when protecting via the command line |
[+] |
Added detection for empty macros |
[+] |
Updated examples directory |
[!] |
Fixed compatibility with relocations information in some Delphi applications |
[!] |
Fixed random exception when protecting via the command line |
[!] |
Fixed emulation of instructions using segment registers |
[!] |
Fixed compatibility issue with Visual Studio 2005 MAP files |
Code Virtualizer [1.0.1.0] (01-Jun-2006) |
|
[!] |
Fixed compatibility issue stripping relocations from some applications |
[!] |
Fixed memory leak when protecting several applications |
[!] |
Fixed "RET" instruction support for x64 DLLs |
[!] |
Fixed relocation problem for x64 DLLs with ImageBase > 0x100000000 |
[!] |
Fixed RIP relative addressing issue on x64 applications |
[!] |
Fixed compatibility with relocations in some Win32 device drivers |
Code Virtualizer [1.0.0.0] (27-May-2006) |
|
[+] |
Internal beta testing |