Technical support :

Perfect solutions

for software protection

and source code recovery

Easiest way to protect software against cracking with DotFix NiceProtect 5.0

Please meet our significantly updated software protection product! We've rewritten NiceProtect in a more up-to-date software development environment, reworked and improved its main features. You will notice that now our product does its job a few times faster. It has also become more stable, even when used with very exotic projects.

Main advantages


From the very beginning of NiceProtect development, we've been testing it on all major development platforms and compilers to ensure unprecedented compatibility. Our product has a unique feature: the obfuscator of compiler's housekeeping data. It is unique because so far none of our competitors can boast of having such an advanced tool! Obfuscation is currently supported for applications developed in Delphi, starting from version 5 and up to RAD Studio 10 Seattle, as well as for applications developed in Visual Basic 5.0 or 6.0.

DotFix NiceProtect - Delphi before obfuscation
DotFix NiceProtect - Delphi after obfuscation


Each of these software development environments leaves a lot of housekeeping data in compiled files: the names of forms, the names of controls on forms, the names of public procedures (events and methods), project data, etc. Any of these data can be used by the attacker to crack your software product, so we highly recommend carefully removing all of them before releasing the product. Unfortunately, removing such data is easier said than done, because all housekeeping data are contained in an intricate chain of undocumented structures. We also develop decompilers, so we have a lot of know-how for decompiling files and collecting housekeeping data. We have used that know-how when developing NiceProtect.

DotFix NiceProtect - Visual Basic before obfuscation
DotFix NiceProtect - Visual Basic after obfuscation


We've also implemented a code mutation and virtualization system that hides critical code as a countermeasure against code analyzers. As opposed to competitive tools, which strictly separate code mutation and virtualization, NiceProtect combines these two approaches when protecting software products. Take a look at the following example. Suppose you have a code block of assembly commands. While NiceProtect is protecting your product, some commands will be converted by the mutator into more complex constructions and mixed with junk code, and some commands will be translated into virtual machine language. This method prevents automatic decompilation by making it hard to distinguish mutated code from jumps to the virtual machine.

DotFix NiceProtect assembler code
DotFix NiceProtect virtualized code


Naturally, NiceProtect supports markers (you can mark the code that you want to protect) and selection of functions via a MAP file. Both approaches have their own advantages. Markers allow you to directly protect important code; and by selecting a function via a MAP file allows, you can redo the beginning of the function as a countermeasure against decompilers.

DotFix NiceProtect software protection using the MAP file


NiceProtect has a built-in code packer. It is our own development, still unequaled by competitors. The code packer has the following features. In addition to compressing code, it replaces the import table in the protected file by a table similar to that in a typical nonpacked Visual C++ file. Moreover, it moves the entry point into the first section, also making the file look like a nonpacked one. The "path" to the decoding and unpacking section lies through a great amount of junk code. These approaches are highly effective against code analyzers and automatic unpackers.

DotFix NiceProtect compressing file


Starting from version 5.0, NiceProtect includes IEEE Software Taggant System, a cutting-edge technology that protects your files from antiviruses' false positives. This technology is based on signing each protected file by a Taggant SHA certificate with timestamping on the IEEE certification server. The certificate looks like this: the IEEE root certificate, DotFix Software's certificate issued by IEEE, and the protection user's certificate issued by DotFix Software.

DotFix NiceProtect IEEE Taggant


This certificate is very similar to Code Signing Certificate, the only difference is the area of application. Such certificates are already supported by many antiviral products and by VirusTotal.com online service, which significantly reduces the chance of a false positive. We were among the ten or so companies that helped to develop and implement the Taggant System, and we have a lot of experience in using it.

DotFix NiceProtect IEEE Taggant virustotal check


NiceProtect has yet another unique advantage: You can use some of its features in combination with protection provided by third-party tools. For example, you can virtualize your code with a third-party protection tool, and then use NiceProtect to obfuscate data, pack the code, and sign your file with a Taggant certificate. This might be helpful if you already have a third-party tool that lacks obfuscating and packing abilities. Combining our product with third-party tools can be useful to provide a more sophisticated protection against software crackers.


We'll be most happy to see you among our clients!

(C) Sergey Chubchenko, DotFix NiceProtect's main developer






Services     Articles     Order     About Us     Contacts