Opportunities | Dotfuscator | Spices.Net Obfuscator | Salamander obfuscator | {SmartAssembly} |
---|---|---|---|---|
In trial version | Actually Community Edition with a minimalist set. | Gives a complete view, is not limited by functionality (only marks obfuscated assemblies with a special watermark - “Obfuscated by Spices.Obfuscator. Not for commercial use”) and comes complete with GUI, VS Integration, MSBuild integration, console and SDK. Can be used for free to protect non-profit programs. | Restrictions - the console version is provided. | Functional limitations. |
Interface, Automation, Integration | The interface is not very. Briefly - ugly (well, here on vksyu and color ...). The console version is present. There is a possibility of applying the rules, but rather confusing. application of the rules, but rather confusing. No automation. Integration into MSBuild, integration with VS as an Add-In, which is not integrated into the build-process of the current project. | It is delivered both in the GUI version of Spices.Net, and in the console. The GUI version provides many additional tools for researching assemblies. There is automation - a C # example is provided on how to write your own obfuscator using a Spices.Net Obfuscator machine. In addition, ObfuscationEvents (similar to VS Build Events) are supported, allowing you to insert custom stocks between the steps of the obfuscation process. Integration into MSBuild and VS is present - you can configure obfuscation options directly in the project properties, enable or disable any project of the solution, and disable obfuscation altogether. | Delivered to GUI. The console is there. No automation. There is no integration. | Nice wizard-style simple interface. The console is present. No automation. Integration either. |
Tamper-resistance | The module "snitch" comes in Enterprise, is designed for intra-corporate theft. For the usual software - just disable access to the Internet to this program, or simply simply remove the protection for it is quite easy. | There is. A hacked, renamed, or forged assembly stops working. Protection from both ILASM / ILDASM roundtrip, and from simple renaming of the assembly (that is, changing identity - this includes both its name and the full name in the case of the strong name of the assembly, as well as the version number). And what's interesting is that after the introduction of this technology, hacked versions of Spices.Net can no longer be found, and Salamander and SmartAssembly (oh yeah, offering control flow!) - please lie on the varezniki. | Not. | Not. |
String encryption | there is | There is. Advanced - resource protection (without encryption and compression, but it works with tamper resistant)) | There is. | There is. Advanced - compression and encryption of resources. |
AntiILDASM, decompilation counteraction | AntiILDASM is, there is no counter-decompilation. | AntiILDASM is, there is anti-decompilation (Reflector does not take, but Salamander Decompiler partially can. Automatically protects against Spices.Net Decompiler). | ANTILDASM is, automatically protects against Salamander Decompiler. | ANTILDASM is |
Delete unused code and declarations (pruning) | Can | Maybe flexible | Can | Can. |
Software watermarking | Can | Maybe (with anti-counterfeit protection - i.e., TamperProof technology is used) | Not | Not |
Control flow obfuscation | Yes, partially recognizable by decompilers. | Instead, CodeAnonymizer technology is proposed as a more effective means of dealing with decompilers. | Yes, but recognizable by decompilers. V-Spot Elimination is mentioned - unrealized technology similar to that implemented in Spices.Net CodeAnonmizer | Yes, but recognizable by decompilers |
Working with mixed-code assemblies | Not very good, without optimization in size | Maybe with size optimization | Yes, but it is unstable | Maybe limited (error reporting is not inserted into this code) |
64-bit support | there is | there is | Not | Not |
StackTrace Deobfuscation | Not in the community edition, but in the enterprise, but not very convenient, map-based obfuscation | There is a Spices.Net tool and a more detailed free solution is offered. | Not | There is an implemented Error Reporting module. Unique feature. |
Benefits | Comes in every delivery with VS. Unlike other obfuscators - for each new version of .Net it turns out to be the very first - an insider after all. | Large selection of remedies. Two technologies that other obfuscators do not offer. Having your own decent decompiler allows you to understand that the obfuscator knows what needs to be protected. That obfuscator knows what needs to be protected. Of the advantages, I can also name operational support in Russian and constructiveness in solving problems. | The oldest representative, a good quality of protection. | Simple, meets the basic needs of small developers and is tailored to them, but because of this, it is a little inflexible, although it has a good arsenal of protection tools. |
disadvantages | Unreasonably expensive. The list of features and workmanship does not match the price. Support is not free. | The abundance of settings and tools sometimes stops. Clearance for professional use, and not for the needs of small developers. Although for them just everything is in the console version. | Inflexibility of settings, lack of temper. With the release of .Net 2.0, the guys have already thrown this project, but then they came out with the Obfuscator + Protector combination. Cannot work with projects of different .Net versions. On the latest versions of .Net - unstable. It is difficult and long to contact support. | It is not clear the future of this good product. Lack of integration, tamper-resistance impairs performance. But the first thing they could offer - protection from the reflector - This would be a very powerful feature. There used to be very friendly support, now I don’t know. |
Source: https://habr.com/ru/post/106262/
All Articles