SmartAssembly

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.

Learn more about SmartAssembly

Request a Quote

What is SmartAssembly ?

Protect your .NET and IP code with SmartAssembly

  • Protect intellectual property through obfuscation and encryption
  • Assegure os assemblies .NET Framework, .NET Core e .NET Standard
  • Report usage and exceptions automatically

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

  • Setting up and adding exception handling to your app takes seconds, involves very few changes to your code, but gives you access to stacks of valuable feedback.
  • No more time-consuming email exchanges to get all the details you need. Your end users can report unhandled exceptions with the click of a button, which means you can fix bugs more quickly.
  • You get continuous data about which unhandled exceptions are most recurring, helping to prioritize bugs that affect most end users.
  • You can reduce support costs by identifying and fixing issues that your end users are actually experiencing.

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

  • Deploy your .NET application to a file
  • Improve the performance and protection of your software

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

  • Facilitate the deployment and maintenance of your software
  • Reduce the size of your program

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?

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.