SmartAssembly is an obfuscator that helps protect your application from reverse engineering or modification, making it difficult for third parties to access your source code.
Protect your .NET and IP code with SmartAssembly
Ofuscador .NET da Redgate
SmartAssembly is an obfuscator that helps protect your application from reverse engineering or modification, making it difficult for third parties to access your source code.
If your entire business is based on the IP embedded in your software or if you don't want your C# or VB.NET code to be exposed internationally, obsising your code becomes a necessity, not a luxury.
With SmartAssembly, you get a comprehensive set of obfuscation features, including name change, control flow obfuscation, string encoding, dynamic reference proxy, and declarative obfuscation.
3 Ways SmartAssembly will improve your software
Obfuscation
.NET applications can be easy to disassemble if they are not obfuscated, which can be a problem if you have invested time, effort, and money in your code. Obscan your code is easy to do and adds a protection barrier against reverse engineering and modification.
Various forms of obfuscation and optimization
Code obfuscation makes your application difficult to reverse engineer, removes useless code, and compresses dependencies, protecting and compressing your application with minimal fuss.
Automated error reporting
Only one thing is worse than finding out that your software has bugs: never find out.
Most users won't bother reporting bugs: it's complicated and technically challenging to remember and relate the details. It would be easier for everyone if you allowed your users to tell the whole story with a quick click, wouldn't it?
Automated error reporting is an exception handling mechanism that automatically and silently collects detailed information when errors occur. Although highly customizable, a typical error report consists of a full stack trace and details about the exception context (for example, values of all local variables).
There are two main circumstances in which automated error reporting is particularly useful:
1. In the pre-release phase (for example, beta testing), when you want a lot of initial user feedback to help you submit a stable application.
2. In post-release maintenance, when you want to optimize and speed up the process of debugging and correcting your software.
Benefits of automated error reporting
Attach files to your error reports
Using the SDK, you can also package any data you want with the exception report, for example, a log file or a screenshot taken at the time of the failure. You can even customize your exception handling dialog box and ask the user for more information or contact details so that they can contact them when a fix is released.
Merging DLLs
Compiling .NET code often results in the creation of multiple assembly files, including satellite DLLs, all required to run the program. Although this is not an issue during development, when it comes to deployment, it usually means an unwanted stage of users having to unpack files, or additional steps in the installer as DLLs are moved to specific locations.
Merging Dependencies
Merging dependencies takes all DLLs and merges dependencies into the main assembly so you don't have to load too many DLL files. When a dependency is merged, it becomes a part of the main assembly, and the code of a merged dependency can therefore be obfuscated and removed, as well as the code of the main assembly.
Compression and incorporation of dependencies
Compressing and embedding dependencies allows referenced DLLs to be embedded in the main assembly as resources, rather than being merged into the contents of the main assembly. This feature also compacts these resources and dynamically uncompresses them at runtime.
You can control the merging of SmartAssembly dependencies and compressing and embedding dependencies through the command line so that it is easily integrated into the construction process, providing simple and reliable merging of dependencies in each construct.
Main features
Mutilated name
Changes the names of methods and fields to make it difficult to understand their purpose.
Control flow obfuscation
Converts the code within the methods to 'spaghetti code' to make it difficult to see how the application works.
Dynamic proxy references
Creates a proxy for calls to methods outside your assembly to make it difficult to find external calls.
String Encoding
Encodes the strings used in your software to hide information such as passwords and SQL queries.
Compression and encryption of resources
Compacts and encrypts managed resources to make them difficult to understand and to reduce assembly size.
Poda
Removes unusable metadata to make reverse code engineering difficult, reduce assembly size, and improve load time.
Merging dependencies
It takes all the DLLs and merges dependencies into the main assembly, so you don't have to load too many DLL files and so that they can also be obfuscated.
Compression and incorporation of dependencies
Compacts and incorporates its dependencies into its main assembly, simplifying the deployment of your software and reducing the size of your program.
Obfuscation of the parents of the method
Moves methods in your code, changing the class in which they are, making it more difficult to understand how methods and classes relate to each other.
Strong name signature with tamper protection
Signs your set and helps protect you from modifications (additional tamper protection is not available in the Standard edition).
Declarative obfuscation
Deletes an obfuscation member by using custom attributes directly in your code.
System requirements:
CPU: 1.8 GHz dual core processor
RAM: 2 GB
HDD / SSD: 50 GB of free space on the main drive
Operating system: Microsoft Windows 8 32-bit, Microsoft Windows 7 32-bit and Microsoft Windows Vista 32-bit
Resolution: 1024×768
You don't know what software you need or you haven't found what you were looking for? We have a team ready to help you choose the right software for your company.