# Version History & Changelog - DotFix NiceProtect

> See the evolution of DotFix NiceProtect. Full changelog of new features, improved obfuscation algorithms, and bug fixes in every version.

Canonical HTML: <https://www.niceprotect.com/history.htm>

## DotFix NiceProtect History

**31.07.2026**


Version 26.1 is released


- A complete refactoring of the mutation and virtualization protection

  code was performed.

- Added support for virtualization and mutation of conditions

  and loops in 32 and 64-bit code.

- Improved 32- and 64-bit virtual machines, reworked

  processor flag control, and improved compatibility.

- The MAP file loading code has been fully optimized. Large files

  for protection now load faster.

- Optimized work with hash algorithms.

- The unpacker code in the protection loader for 64-bit files has been

  completely rewritten. Now the unpacker runs faster and correctly

  handles exotic cases, such as sections that are unaligned or the

  virtual size is smaller than the actual size, etc.

- The protection log has a completely new design. Different events are

  now marked with their own color. Light and dark themes are supported.

- Double-clicking on a line with an address disassembles the code from

  that address and displays it on the screen. Both 32-bit and 64-bit

  code are disassembled. This feature is very useful for analyzing

  which code has been marked for protection. Disassembled code

  supports both light and dark themes.

- Pressing Esc in the disassembler window when entering it from the

  protection log returns you to the protection log. When entering

  it from the MAP file's function list, it returns you to

  the function list.

- The Delphi/FreePascal obfuscator has been completely rewritten,

  optimized and improved, significantly increasing its compatibility.

- The algorithm for mutating class, object, and event names in

  the Delphi, FreePascal, and Visual Basic 5.0/6.0 application

  obfuscators has been completely rewritten. Now, during each

  protection, full name randomization is performed, independent

  of object order, name lengths are restructured, and names are

  randomized uniquely for each form.

- The Delphi/FreePascal obfuscator now supports the childpos flag

  of objects with their properties parsed.

- The Delphi and FreePascal forms obfuscator now supports protection

  of events of objects nested within other objects: ToolBar buttons,

  graph output components, etc.

- Fixed virtualization of mov commands with 64-bit relocatable

  address in imm64

- Fixed an error that occurred if the notification before protection

  was not disabled and the protection was called twice.

**23.06.2026**


Version 7.8 is released


- Introduced built-in scripting engine that runs your own scripts

  before and after protection: it can edit the PE header, patch

  the protected binary, read and write the registry, INI and XML files,

  compute MD5/SHA-256 checksums, run external tools such as signtool,

  launch your installer build, and more, with variables, arithmetic,

  conditions and flow control. See the [DotFix Script Documentation](https://www.niceprotect.com/help/dotfix_script.htm)

  for the full command reference.

- Documentation has been updated in all supported languages.

- The Recently Opened Projects List feature has been reimagined and

  rewritten. Now the most frequently used files are at the top of

  the list, and when a file is opened from the center of the list,

  it is moved to the top of the list from the center.

- The position and size of the main window are now saved and

  restored the next time you open it

- Fixed Free Pascal Lazarus 32bit files obfuscation

- Checking for new program versions via a secure https protocol

- Compatibility with the latest changes in Windows 11

**04.02.2025**


Version 7.7 is released


- Packing algorithm for sections and resources has been optimized

  to improve performance

- Disassembler's heuristic address analysis capabilities have been

  improved, allowing for more accurate results

- Registration check process has been streamlined to increase

  efficiency

- Correct operation of the console version if the path to the

  output file does not exist

- Support for two packing algorithms in the console version

  (previously only the algorithm of the new version was supported)

- Fixed a bug where if memory allocation was not possible during

  unpacking, an error message was not always displayed

- Fixed a bug in the new compression engine where in some cases

  memory would be released incorrectly

- A lot of optimizations and minor fixes

**10.12.2024**


Version 7.6 is released


- Delphi obfuscation improvements

- Fixed registration checking on program first start on some systems

**18.03.2024**


Version 7.5 is released


- NiceProtect' user interface has been significantly updated.

  Redrawn from scratch 52 icons for the menu, toolbar, and various

  tabs for light and dark theme. Also we've revamped the Splash screen

  of the software. Hopefully, this will simplify interaction with the

  product and make working with it more comfortable and enjoyable.

- Documentation has been completely rewritten and updated. New sections

  have been added, while many old ones have been entirely rewritten

  from scratch. We hope that this will help and streamline your work

  with the product.

- Compatibility of the obfuscator has been improved for Delphi and

  Free Pascal programs. Support for obfuscating "Before" and "After"

  events on form objects has been added.

- Service for checking updates (optional) has been added, which will

  help you always have the latest version of the product

- An note has been added upon starting protection

- Fixed Drag and Drop functionality upon changing the color theme

**25.12.2023**


Version 7.4 is released


- Improved compiler to 64bit Virtual Machine

- Shows compiler full version for Delphi 11+ 32/64 bit compiled files

- Additional detection for x64 Delphi applications

- Fixes in entry point protection for Delphi 12 compiled files

- Fixes in 64 bit virtualizing "mov reg32, value"

**07.12.2023**


Version 7.3 is released


- Completely tested in Windows 11 22H2 2023-11

- Rewritten most parts of the documentation

- Compatibility with new IEEE Taggant certificates

- Minor changes in EULA

**06.07.2023**


Version 7.2 is released


- Add: Additional 64 bit virtual machine commands (x64)

- Add: Completely tested in Windows 11 22H2 2023-06

- BugFix: Drag and drop files in a Dark Theme

- BugFix: "$ER is not a valid integer value" during protection (x64)

- BugFix: Changing stack pointer for morphed relocations (x64)

**09.04.2023**


Version 7.1 is released


- Delphi x68/64, Free Pascal x86/64 and Visual Basic x86 obfuscation is

  highly improved. Added a lot of new decompilation features from our

  decompilation solutions.

- Support additional x86 commends for morphing

- Optimized speed of searching protection markers

- Compatibility fix with Chinese Windows locale (different processing

  non-unicode chars)

- A lot of code refactored for better performance

**09.02.2023**


Version 7.0 is released


- New Dark Theme and themes selection. Different code highlighting

  in a disassembler for light and dark themes. A lot of controls

  and code refactored and rewritten to support this

- Redrawn 20+ icons to support smooth transparent rendering in a

  Dark Theme

- Search and Highlight for any keyword under the cursor in disassembler.

  Just click on any operand, register or variable name and NiceProtect

  highlight all same names in a whole code list

- Compatibility fix for MS SignTool for code signing some 32 bit

  protected files

**09.04.2022**


Version 6.9 is released


- Support additional features for Lazarus FreePascal MAP files

- File information is more readable and with new additional fields

  (Relocation table, TLS table)

- Usage custom processing for Embarcadero C++ Builder compiled files

- Support long prototypes for C++ Builder functions in MAP files

- BugFix: Documentation part about MAP file in C++ Builder fixed

- BugFix: Processing incorrect Visual Basic internal tables

- BugFix: Processing incorrect section indexes in MAP files

- BugFix: Pack section with the export table (C++ Builder x64)

- BugFix: Work x64 protected files in Windows 11

- BugFix: Incorrect relocation in some jump opcodes

**31.03.2022**


DotFix Taggant Analyzer


We developed a free and small IEEE [Taggant Analyzer](https://www.niceprotect.com/download.htm) tool.

Using this tool you can check any EXE/DLL/OCX file for internal [IEEE Taggant Code Signing Certificates](https://www.niceprotect.com/ieee_taggant.htm).

This certificates used by software packers and software protection platforms and confirm that binary files is clean and safe and add trust point for internet security and anivirus software.

**12.03.2020**


Version 6.8 is released


- 64 bit support. Relocations, TLS Callbacks, Exception Tables

  and protection with MAP files is already supported. Supported MAP

  files from a lot of popular compilers.

  Markers is comming soon.

- Obfuscation improvements for Delphi 32 and 64 bit, C++ Builder 32 bit
  and FreePascal Lazarus 32 and 64 bit applications.

- New articles in documentation:

  [MAP file - what is it?](https://www.niceprotect.com/help/what_is_it_a_map_file.htm)

  [Delphi / C++ Builder MAP file](https://www.niceprotect.com/help/delphi_cpp_builder_map_file.htm)

  [Visual Studio MAP file](https://www.niceprotect.com/help/visual_studio_map_file.htm)

  [Visual Basic 6.0 MAP file](https://www.niceprotect.com/help/visual_basic_60_map_file.htm)

- New packing engine is now supports compressing of

  Visual Basic 5.0 and 6.0 files

- Completely recompiling import table and import address table

  with recovery of original links to IAT

- "Find next" button at functions list in a Code Protection dialog

- Check the entropy to disable some features for passible packed files

- Protect 'DVCLAL' and 'PACKAGEINFO' resources for Delphi

  and C++ Builder applications

- Show real names for Delphi/C++ Builder forms during obfuscation

- Disable toolbar Protect and Start buttons during protection

- BugFix: Correctly process Tls AddressOfIndex with link to section

  without offset in a file

**01.02.2020**


Version 6.7 is released


- Improvements and optimizations in a packing engine

- Compression ratio is increased for old compression engine

- BugFix: DLL/OCX loader on multithread files

**18.01.2020**


Version 6.6 is released


- Selection between old and new compression engine. Old compression engine

  used in v5.x and older and better support Visual Basic 6.0 EXE files. New compression

  engine contain a lot of new features and recommended for all other files. Old engine

  is not support relocations and can be used only for EXE files.

  DEMO version supports only old protection engine.

- Old compression engine partially refactored, fixed known issues and added support

  for changes in latest builds of Windows 10.

**02.01.2020**


Version 6.5 is released


- Support files with zero address and zero length of first section

- Perfect memory optimizations during creating unique protection engine

parts for protected file. Now protection platform use less ram during protect the files

- Show help button with link to topic for Code protection tab if MAP file is not found

- Context help by pressing F1 or clicking Help button on toolbar

- BugFix: Fixes and improvements

**16.10.2018**


Version 6.4 is released


- Increased processing speed of protection markers. Also this operation now needs less memory.

- Open files with fake Visual Basic signature (with pointer to out of file)

- Decode TimeDateStamp in File Information

- BugFix: Delphi obfuscation if one class has two entries with same name

- BugFix: Processing of some forms in Visual Basic obfuscator

**27.06.2018**


Version 6.3 is released


- Show disassembler by clicking on any virtual address in Protection Log window.

  You can analyze the code into protection markers.

- Show error message while opening incorrect or corrupted files

- Show addresses of IAT and Exceptions table in File Information

- Support for large files (>150Mb)

- Check for Taggant certificate and Disable Taggant settings if certificate is

  not found

- Show count of selected functions in MAP file. Click on this jumps to the first

  selected function

- BugFix: Show virtualized code for files with relocations

- BugFix: Virtualizing startup code of DLL and OCX files

**12.05.2018**


IEEE Standards Association informed us, what [IEEE Taggant System](https://www.niceprotect.com/ieee_taggant.htm), a component of the IEEE Anti-Malware Support Service (AMSS), will shut down on 31 July 2018. It means, what IEEE Taggant certificates can't be issued after this date.


A lot of virus-protection software already supports the Taggant. We hope this support will not stopped, because taggant-checking code no need to modify, but helps marking clean and safe files. But timestamp servers will stop working. Just uncheck timestamping in DotFix NiceProtect options if you're using the latest version.

**25.10.2017**


Version 6.2 is released


- Support a lot of VB5/6 forms, what incompatible with previous version of VB Obfuscator

- Support for DLL and OCX files via Command line (if project is not created)

**17.05.2017**


Version 6.1 is released


- Taggant library v2

- New IEEE Taggant SHA256 Timestamp server

- Options to enable taggant, timestamping and change Timestamp server

- BugFix: Protecting some classes with FreePascal obfuscator

- BugFix: Cleaning "Events to protect" list after opening the new file (Delphi RTTI obfuscator)

- BugFix: Minor fixes

**24.01.2017**


Version 6.0 is released


- Support protection of DLL libraries

- Support for the relocations in EXE and DLL files

- Support for the TLS CallBacks

- Obfuscator for Free Pascal / Lazarus

- Redirect all TLS data and callbacks with support of relocations

  and starting callbacks before main code

- "Exit" from menu "File" ask for the saving project if it's not saved

- Create new project after drag'n'drop new file

- Show default icon for EXE/DLL files without any icons in resources

- Delphi and VB6 obfuscation and protection improved

- Menu "Copy" and "Select All" in a disassembler

- Show names from MAP file in a disassembler

- Improved searching end of function in a disassembler

- Demangler for the Delphi functions in a MAP file

- Demangler for the C++ functions in a MAP file

- Demangler for the Free Pascal / Lazarus functions in a MAP file

- New code highlighter in a disassembler

- Parser for gcc/mingw map file (very useful for QT developed apps)

- Parser for Free Pascal / Lazarus map file

- Packing engine is completely rewritten and now supports

  EXE, DLL and ActiveX DLL files

- BugFix: Protect marked code in a Visual Basic 6.0 applications if it less than 23 bytes

- BugFix: Processing TLS on some Delphi compiled files

- BugFix: VB obfuscator replace some already replaced names

- BugFix: C++ Builder obfuscation on some files

- BugFix: Delphi obfuscator x64 support

**24.01.2016**


Version 5.1 is released


- Delphi obfuscation improved (support new

  features of VCL forms, bugfixes for "close"
  tags of items)

- BugFix: DEMO version works incorrectly without settings in registry

**21.07.2015**


Version 5.0 is released


- All project rewriten from scratch

- IEEE Taggant support

- New user interface

- New console version

- BugFix: A lot of small fixes

**30.12.2014**


Version 4.9.2 is released


- Support for TypeLib information in resources

- BugFix: Ignore virtualizing markers with code where less than 5 bytes

**30.12.2014**


Version 4.9.2 is released


- Support for TypeLib information in resources

- BugFix: Ignore virtualizing markers with code where less than 5 bytes

**15.09.2014**


Version 4.9.1 is released


- Support for VS2010+ and QT 5.3 (msvc compiler) applications

- BugFix: Processing ANSI markers

**29.07.2014**


Version 4.9 is released


- Delphi XE - Delphi XE6 support

- Increase file header if no free space for a new sections

- Updated main icon

- BugFix: Add free space between last section and protector's data

**22.07.2014**


Version 4.8 is released


- Search original and target files in a project folder if files is not found in
old path after opening dfp project file.

- New manifest with more compatabilities with Windows 8.1

- BugFix: Processing long relative jumps during protecting the program code

- BugFix: Virtualizing some "mov" opcodes

**07.05.2014**


Version 4.7 is released


- Support for Windows 8.1

- Obfuscation improvements

**26.09.2013**


Version 4.6 is released


- More optimizations in the packing engine

- Integration to the Windows context menu for the EXE files

- Obfuscating SSTab control (VB6)

- BugFix: Fixed issue with packing some types of resources

**19.06.2012**


Version 4.5 is released


- Correctly process properties of the OCX components (VB6 obfuscation engine)

- Intellectual processing names of VB6 controls (VB6 obfuscation engine)

- Correctly detects DataReports and DataEnvironments (VB6 obfuscation engine)

- You may change an extension of the result file name

**04.05.2012**


Version 4.4 is released


- Support of the Delphi XE2 compiled files

- Filter for the standard VCL functions in the MAP file

- BugFix: If start of the protection marker has pointer to the first byte of the first section, the protection is not works

- BugFix: C++ marker inlcude file fixed

- BugFix: Correctly obfuscate some of the Delphi programs

- BugFix: Correctly process MAP files with more than 32767 functions

**10.02.2011**


Version 4.3 is released


- Obfuscator for Visual Basic 5.0/6.0 applications

- Support alpha channel in icons

- Packer engine upgraded

- All code refactored

- Speed optimizations

- BugFix: Sometimes protected application crashes after protection

**28.11.2010**


Version 4.2 is released


- Correctly obfuscation Tab and Page controls

- BugFix: errors during some collections parsing in obfuscation

**22.04.2010**


Version 4.1 is released


- BugFix: obfuscation VCL classes with names, used in other classes

- BugFix: working gui status list after sending exe name in command line

**02.02.2010**


Version 4.0 is released


- New checking VB markers (code emulation)

- Fully Windows 7 compatability

- Smart checking for changes in project

- Drag and drop to FileName text field in main window

- Version Info controls now locked for changing

- Auto clear error entries in recent files list

**10.09.2009**


Version 3.9 is released


- Added two new signatures

- BugFix: Loading VM checkbox from project

- BugFix: crashes on Windows 2008 Server

**25.08.2009**


Version 3.8 is released


- Packer engine now based on aplib v1.0

- NiceProtect now normally worked in China version of operating system

- BugFix: normally protect VS 2008 files with .textbss section

**01.05.2009**


Version 3.7 is released


- Morphing algorithm improved for Delphi applications

- New improved documentation, screenshots and website

- More false alarms cleaned (now we contact with more antivirus companies)

- Fixed bug with changing some values in project after loading MAP file

**08.12.2008**


Version 3.6 is released


- RTTI Obfuscation improved

**17.08.2008**


Version 3.5 is released


- Windows 2008 Server supported!

**15.05.2008**


Version 3.4 is released


- BugFix: saving overlays in already packed files

**29.04.2008**


Version 3.3 is released


- Packer detector updated

- BugFix: protecting Delphi 2005/2007 exe files

**14.04.2008**


Version 3.2 is released


- RTTI obfuscator for Delphi and C++ Builder programs

- New import table

**10.04.2008**


Version 3.1 is released


- Packer engine improved (aPlib library updated to version 0.43)

- Packing Delphi and C++ Builder forms

- German help file fixed (thanks for Marc Crames)

- Tab order fixed

**12.12.2007**


Version 3.0 is released


- NiceProtect is digital signed

- "Application Details" opened after loading project

**24.11.2007**


Version 2.9 is released


- Scripting language for optimizing before and after protection works

- New error codes in Command line mode (1 - protection failed, 2 - project not found)

**01.11.2007**


Version 2.8 is released


- Status output in Command line mode

- Error code in Command line mode (0 - all ok, 1 - protection failed)

- New Vista icon

- Fixed bug with using Zero flag in methamorph engine

**08.10.2007**


Version 2.7 is released


- Virtualize Markers SDK for Visual Basic 5.0/6.0 programs

- More explicated log window

- Some bugs in registration schema fixed


Known limitations:


- Use SDK markers only with code without cycles and SEH frames,

  because all virtualized code copyed to protected section and

  all old addresses will filled by garbage.

**20.09.2007**


Version 2.6 is released


- New powerful interface

- MAP markers changed to protect_start, protect_end

  please update headers from new SDK

- If Debug Directory have an errors it would be deleted now

- If Import Directory is not have spaces at end block

  it normally processed now

- Added screensavers protection

**21.05.2007**


Version 2.5 is released


- MAP file functions protection

- Virtualizing markers

- Delphi and C++ SDK and examples

- New license agreement

- New powerfull disassembler

- Flags recovery in methamorph fixed

**12.05.2007**


Version 2.4 is released


- Packer engine improved

- Import emulation bug fixed

- Russian help file changed

- Adding to log file description of protection errors(if found)

- NiceProtect now 100% work with Windows 9x

- German help file added

**08.04.2007**


Version 2.3 is released


- Fix errors checking bug at "Start" button

- FASM v1.6.18 signature

- Fix TLS packing

**11.02.2007**


Version 2.2 is released


- CMP mutation bug fixed

- VM improved (polymorphic VM code)

- New methamorphic code conversions

- EP decryptor improved (polymorphed decryptor code)

**16.01.2007**


Version 2.1 is released


- Debug Directory saved in protected exe

- Metamorph improved

- Registration command line bug fixed

- Test command bug fixed

- Interface bug fixed

**15.12.2006**


Version 2.0 is released


- Resources is crypting now

- All protector code refactored and optimized

- Now NiceProtect work with hardware DEP

- Now NiceProtect fully support Windows Vista

**21.10.2006**


Version 1.3 is released


- Metamorph improved

- Command line support documented now

- Fix bug. If file don't contain resources - protector crashes

- More fixes in program interface

**20.08.2006**


Version 1.2 is released


- VB5/6 fully supported (more stack fixes in oprotector's loader)

- Project file format changed (new fields, some fixes)

- New english help file (completely rewritten)

- Some fixes in program interface

**29.07.2006**


Version 1.1 is released


- Virtual Machine improved

- Project save bug fixed

- English help file changed

**25.06.2006**


First version is released. if you need to buy it - please wait some time.

**22.05.2006**


Coming soon at summer, 2006
