Code Protection and Obfuscator For .Net, Licensing And Copy Protection for .Net, ActiveX and MFC

Crypto Obfuscator For .Net FAQ 

Q. Why do I need Crypto Obfuscator to protect my .Net assemblies.
Most non-.Net compilers emit binary programs containing native CPU instructions which are very hard to disassemble, decompile and reverse-engineer. However, all .Net compilers such as C#, VB.Net, Managed C++, IronPyhton, etc emit compiled programs in MSIL (Microsoft Intermediate Language) format. This format preserves a lot of high-level information about your software such as class, field, method, property and parameter names and even the actual code in a well-defined structure. This has facilitated the development of many decompilers and dissassemblers which can extract this information from a .Net assembly. Some tools can even reconstruct the actual structure of your code including loops, if statements, method calls, etc. Needless to say, this means that an unprotected .Net assembly is an easy target for hackers, crackers or competitors who can easily reverse-engineer your .Net code from the compiled assembly. They can easily glean valuable trade secrets, algorithms, sensitive information such as passwords, SQL queries, etc stored in strings, or even try to find security vulnerabilities and change product functionality.

Q. How will Crypto Obfuscator help me protect my .Net assemblies.
Crypto Obfuscator is a powerful and easy-to-use product for code protection, deployment and optimization of your your .Net software.

Code & Intellectual Property Protection -
Crypto Obfuscator uses advanced code protection and obfuscation techniques to prevent hackers, crackers or competitors from reverse-engineering, decompiling or disassembling your assemblies.
Improved and Simplified Deployment -
Crypto Obfuscator can integrate all dependant assemblies and any additional assemblies into a single main assembly. It can also encrypt and compress them to improve protection and reduce the size of your deployment.
Optimization -
Crypto Obfuscator optimizes the performance of your .Net assembly by eliminating a variety of unnecessary and redundant information. It will also compress assembly resources and any dependant assemblies to significantly reduce the total size of your software. Finally it also performs certain code level optimizations to improve the run-time performance of your software.

Q. How will I benefit from using Crypto Obfuscator to protect my .Net assemblies?
Protecting your .Net assemblies with Crypto Obfuscator helps you to:

  • Protect your intellectual property from hackers, crackers or competitors and increases the ROI for your business.
  • Save time and money spent handling deployment related issues by simplifying, optimizing and improving the deployment of your software.
  • Improve the performance of your application.
  • Build a fast, light-weight and robust application.

Q. Does Crypto Obfuscator support multi-assembly applications?
Yes. In fact, if your application is divided into multiple assemblies, it is necessary to add all of them to the Crypto Obfuscator project and obfuscate them at once.
Crypto Obfuscator also supports embedding, encrypting and compressing dependant assemblies into the main assembly of your software. This improves the protection and reduces the size of your software.

Q. Does Crypto Obfuscator automatically obfuscate referenced assemblies?
No, Crypto Obfuscator obfuscates only those assemblies which you explicitly add to the Crypto Obfuscator project. So if you want to obfuscate referenced assemblies, make sure that you add them too.

Q. Will Crypto Obfuscator affect the performance of my software?
Protecting your assemblies with Crypto Obfuscator should not cause any slowdown. In fact, some settings like 'Reduce MetaData', 'Mark Classes As Sealed', using the short-name renaming scheme, resource compression & assembly compression will often increase the execution speed and/or loading time of your software.

Q. Will assemblies obfuscated by Crypto Obfuscator be uncrackable? Can you guarantee that?
No, we cannot guarantee that. No matter what scheme is used, there is always a chance that it may be cracked - a 100% uncrackable scheme does not exist. If some company says their scheme is uncrackable, they are lying or ignorant. Your aim should not be to find an uncrackable system, but to use a system which offers reasonably strong protection, is easy to use, has good support and is reasonably priced.

Q. Does Crypto Obfuscator add any runtime dependency to my dlls?
No, Crypto Obfuscator does not add any dependency whatsoever to your dlls. The obfuscated dlls are the same in all respects of behavior, functionality and dependencies.

Q. Does Crypto Obfuscator support Smart Device/Windows Mobile/Pocket PC assemblies developed using .Net Compact Framework?
Yes, Crypto Obfuscator fully supports such assemblies.

Q. Does Crypto Obfuscator support ASP.Net applications?
Yes. Be sure to specify 'Conservative' configuration when obfuscating ASP.Net code-behind assemblies.

Q.Does Crypto Obfuscator support WPF applications?
Yes. Additionally, the 'Resource Protection and Encryption' feature of Crypto Obfuscator will help you to protect the resources containing the baml files that WPF applications typically have.

Q.Does Crypto Obfuscator support .Net Standard and .Net Core applications?
Yes.

Q. Does Crypto Obfuscator support obfuscating .xap files?
Yes, Crypto Obfuscator can obfuscate assemblies in .xap files and produce new .xap files with obfuscated assemblies.

Q. Does Crypto Obfuscator support components, controls and class libraries?
Yes, Be sure to specify 'Conservative' configuration when obfuscating such assemblies so that public entities which are used externally are not renamed.

Q. Does Crypto Obfuscator support console applications?
Absolutely!

Q. Does Crypto Obfuscator support satellite assemblies?
Yes, Crypto Obfuscator will automatically obfuscate all satellite assemblies (if any) associated with the obfuscated assemblies.

Q. Does Crypto Obfuscator support LINQ to SQL?
Yes, Crypto Obfuscator has full support for assemblies using LINQ to SQL and understands the rules needed to obfuscate such assemblies..

Q. Does Crypto Obfuscator support SQL CLR assemblies?
Yes, Crypto Obfuscator fully supports SQL CLR assemblies and understands the rules needed to obfuscate such assemblies.

Q. Does Crypto Obfuscator support XNA assemblies?
Yes, Crypto Obfuscator fully supports assemblies build for the XNA framework.

Q. Does Crypto Obfuscator support incremental obfuscation?
Yes. Select the 'Cryptographic Renaming' scheme for this. Incremental obfuscation ensures that existing classes, methods, etc are given the same obfuscated name every time assemblies are obfuscated. Any new classes, methods, etc are given obfuscated names different from already taken obfuscated names.

Q. Does Crypto Obfuscator support recovering the original stack trace, watch variable names, etc once symbols are renamed?
Yes. Whenever assemblies are obfuscated, Crypto Obfuscator generates a mapping file which maps original names to new names. To recover the original stack trace, use Project menu --> Stack Trace Deobfuscator.

Q. What are the system requirements to run Crypto Obfuscator?
Crypto Obfuscator requires .Net Framework 2.0 or higher to run. However, as noted above, it can obfuscate assemblies built for all versions of the .Net framework.

Q. Are there special or additional system requirements to run obfuscated versions of my .Net assemblies?
No. Crypto Obfuscator does not add any additional dependencies whatsoever. Obfuscated assemblies run on the same version of the .Net framework that they are originally built for.

Q. Can Crypto Obfuscator be run from the command line?
Yes. The command line interface can be used to integrate Crypto Obfuscator into your build system.

Q. Does Crypto Obfuscator produce FIPS compilant assemblies?
Yes, no matter which obfuscations and settings you apply, all obfuscated assemblies are FIPS compliant.

Q. Does Crypto Obfuscator support obfuscating my projects directly from Visual Studio?
Yes, obfuscation and protection can be integrated in the Visual Studio IDE using either build events or MSBuild. See the topic "Visual Studio Integration Using.." in the help file.

Q. Does Crypto Obfuscator support MSBuild?
Yes, see above question.

Q. Does Crypto Obfuscator support ClickOnce integration?
Yes, see above question.

Q. Does Crypto Obfuscator support pdb files?
Yes, Crypto Obfuscator can create a new pdb file corresponding to the obfuscated assembly. This allows you to get source code file names and line numbers in your stack traces. In addition, the source code file names are obfuscated too, so you can distribute the pdb files along with your obfuscated assemblies without revealing sensitive information.

Q. Does Crypto Obfuscator support controlling obfuscation via code attributes?
Yes, Crypto Obfuscator supports excluding/including entities from renaming, control flow obfuscation, string encryption, etc using code attributes.

Q. Can Crypto Obfuscator resign obfuscated assemblies automatically?
Yes, Crypto Obfuscator will automatically resign obfuscated assemblies using specified snk file or a password protected pfx file.

Q. Can Crypto Obfuscator do code signing of assemblies using Authenticode certificates?
Yes, Crypto Obfuscator supports automatic code signing of obfuscated assemblies using Authenticode certificates.

Q. Does Crypto Obfuscator support signing obfuscated assemblies with password protected pfx files?
Yes, see above question.

Q. Does Crypto Obfuscator use IL round-tripping to do its processing?
No. Crypto Obfuscator does not use ILDASM or ILASM to obfuscate assemblies. It uses dedicated code to read, obfuscate and write .Net assemblies.

Q. Does Crypto Obfuscator use the original source code to do its processing?
No. Crypto Obfuscator uses the compiled exe or dll files only. The original source code is not used and is not needed.

Q. My protected assembly does not run. What should I do?
See "Troubleshooting Protected Assemblies" topic in the help file for the most common issues and their solutions.

Q. Some classes/methods/fields, etc are not renamed. Why?
Are you using 'Conservative' obfuscation type? In this mode, only non-public items are renamed. If your assembly is not intended to be used by external assemblies (which is the case with most exe assemblies), you should set obfuscation type to 'Aggressive'.
Crypto Obfuscator will also automatically exclude from obfuscation items based on various rules, such as application settings class, or classes marked with the Serialization attribute, etc.

Q. Are there any royalties for distributing software protected with Crypto Obfuscator?
No. There are no royalties, fees or charges of any kind for distributing software protected with Crypto Obfuscator. You only need to buy one or more developer licenses for Crypto Obfuscator depending on the number of developers using Crypto Obfuscator.

Q. Do I need to include any license agreement or notices with my software if it is protected with Crypto Obfuscator?
Absolutely not!

 

Download Your Free Trial Now    or Buy Now | Have a question? Email us