Fixed an error corrupting the A flag state after emulating SUB, CMP, DEC, NEG, CMPXCHG, SCAS and CMPS commands.
Fixed an error occurred when working with an unaligned file.
Added support for BSF, BSR and CMPXCHG8b instructions.
For multi-threaded applications, you can specify a memory allocation procedure for the VM interpreter (memory allocation procedure must be defined as fastcall).
Added support for FUCOMPP and FCMOVxx instructions.
The type of strings (ANSI/Unicode/Pascal) and comments for structure fields made by compilers are now shown when looking at parts of the code.
Added a metamorphism procedure for the bytecode interpreter.
Added new compilation options: “Bytecode encryption” and “Strip relocations (for EXE files only)”.
Removed the “Obfuscate bytecode” option (now always on).
Fixed an error occurred while detecting SEH handlers for C++.
Bytecode obfuscator is totally reworked.
Relocations are highlighted in the code now.
“Free space” from original parts of code is used to store the bytecode.
Added detection of “short” pascal-format strings (first byte defines the length of a string).
Fixed bugs related to execution of online-commands in DLL/SYS.
Changed the calculation algorithm of bytecode checksum.
Added an option “VM interpreter integrity control” (also works as an anti-debug technique if the interpreter is being debugged and the debugger uses INT 03 as breakpoints).
Usage of “old” relocation tables to store the bytecode.
Fixed an error occurred when files with relocations were created(the error arose during operation of DLL/SYS-files in Windows 95/98/Me).
Fixed small issues in the disassembler.
Added support for instructions: F2XM1, FABS, FCLEX, FCOS, FDECSTP, FINCSTP, FINIT, FLDCW, FLDLN2, FLDLG2, FPREM, FREM1, FPTAN, FRNDINT, FSIN, FSTCW, FTST, FYL2X, FPATAN, FLDZ, FISTP.
Added support for MAP-files of Borland C Builder.
Now you can select the language of the interface and messages (Russian and English are available).
Fixed small bugs in the interface.
Added support for CMOV and CMPXCHG.
Fixed small bugs in the interface.
Added support for Virtual Pascal.
Fixed error in the compiler (incorrect work with the C flag while compiling NEG and SBB instructions; fixed POPF processing; fixed wrong bytecode CRC check when processing external conditional jumps).
Fixed bugs in the VM interpreter related to bytecode obfuscation.
Improved processing of a MAP-file generated by C/C++ compilers (procedure names contain information about arguments).
Fixed many bugs