Screenshot Preview

SmartAssembly Pro

by Red Gate Software - Product Type: Application / Developer Application

.NET obfuscator and automated error reporting. SmartAssembly is a software protection and improvement tool designed to help .NET developers to produce better quality software. This all-round solution will obfuscate and protect your .NET code, optimize your .NET assemblies for better deployment, minimize distribution size, increase performance, and add powerful error-reporting and debugging capabilities to your application.

From
$ 1,171.10

Our regular prices are shown below. Please logon to see your discounted prices.

Showing: All Prices | Renewals Only  in

SmartAssembly 6 Pro Edition

Add to Cart $ 1,171.10 1 Server License Delivered via Download + Email
Mfr. Part No: P91U1M0
Add to Cart $ 3,513.30 5 Server License Delivered via Download + Email
Mfr. Part No: P91U5M0
Add to Cart $ 5,855.50 10 Server License Delivered via Download + Email
Mfr. Part No: P91U10M0

SmartAssembly 6 Pro Edition with 12 Months of Support and Upgrades

Add to Cart $ 1,463.14 1 Server License Delivered via Download + Email
Mfr. Part No: P91U1M12
Add to Cart $ 4,389.42 5 Server License Delivered via Download + Email
Mfr. Part No: P91U5M12
Add to Cart $ 7,315.70 10 Server License Delivered via Download + Email
Mfr. Part No: P91U10M12

SmartAssembly 6 Pro Edition with 24 Months of Support and Upgrades

Add to Cart $ 1,755.18 1 Server License Delivered via Download + Email
Mfr. Part No: P91U1M24
Add to Cart $ 5,265.54 5 Server License Delivered via Download + Email
Mfr. Part No: P91U5M24
Add to Cart $ 8,775.90 10 Server License Delivered via Download + Email
Mfr. Part No: P91U10M24

SmartAssembly 6 Pro Edition with 36 Months of Support and Upgrades

Add to Cart $ 2,047.22 1 Server License Delivered via Download + Email
Mfr. Part No: P91U1M36
Add to Cart $ 6,141.66 5 Server License Delivered via Download + Email
Mfr. Part No: P91U5M36
Add to Cart $ 10,236.10 10 Server License Delivered via Download + Email
Mfr. Part No: P91U10M36

SmartAssembly 6 Pro Edition Renewal License - 12 Months of Support and Upgrades

Add to Cart $ 298.60 1 Server Renewal License Delivered via Download + Email
Add to Cart $ 895.80 5 Server Renewal License Delivered via Download + Email
Add to Cart $ 1,493.00 10 Server Renewal License Delivered via Download + Email

SmartAssembly 6 Pro Edition Renewal License - 24 Months of Support and Upgrades

Add to Cart $ 597.20 1 Server Renewal License Delivered via Download + Email
Add to Cart $ 1,791.60 5 Server Renewal License Delivered via Download + Email
Add to Cart $ 2,986.00 10 Server Renewal License Delivered via Download + Email

SmartAssembly 6 Pro Edition Renewal License - 36 Months of Support and Upgrades

Add to Cart $ 895.80 1 Server Renewal License Delivered via Download + Email
Add to Cart $ 2,687.40 5 Server Renewal License Delivered via Download + Email
Add to Cart $ 4,479.00 10 Server Renewal License Delivered via Download + Email

SmartAssembly 6 Developer Edition
(Requires SmartAssembly Standard or SmartAssembly Pro)

Add to Cart $ 142.10 1 User License Delivered via Download + Email
Mfr. Part No: P89U1M0
Add to Cart $ 426.30 5 User License Delivered via Download + Email
Mfr. Part No: P89U5M0
Add to Cart $ 710.50 10 User License Delivered via Download + Email
Mfr. Part No: P89U10M0

Our prices include ComponentSource technical support and, for most downloadable products, an online backup and a FREE upgrade to the new version if it is released within 30 days of your purchase.  All sales are made on our standard Terms and Conditions and subject to our Return Policy. Please contact us if you require any licensing option not listed, including volume licensing and previous versions.

Our regular prices are shown above. Please logon to see your discounted prices.

What's new in SmartAssembly 6.7
This version adds improved support for WPF. You can now merge dependencies containing WPF and, in some cases, the WPF code will be obfuscated where it would not have been obfuscated in previous versions.

SmartAssembly 6.7 also contains the following bug-fixes:

  • Attributes on events were discarded after merging
  • Delegate types were not pruned
  • The ExcludePublicMembers option for Name Mangling did not work with merged assemblies
  • Stack trace decoding could fail with similarly-named types

Note: If you previously used ExcludePublicMembers attribute, it has been replaced by the new KeepPublicMembersAccessible attribute.

What's new in SmartAssembly 6.6
This version adds a new form of obfuscation, called Method Parent Obfuscation (SmartAssembly 6.6 Professional and Developer only).
Method Parent Obfuscation moves methods in your code by changing the class they are in, making it harder to understand how methods and classes relate to each other. Please note that Method Parent Obfuscation may not work with all types of assemblies, so if you have trouble processing an assembly with Method Parent Obfuscation enabled, you should try again without Method Parent Obfuscation.

Red Gate have added a new Control Flow Obfuscation mode called 'Unverifiable'. This offers enhanced control flow obfuscation for desktop applications that will have full trust.

SmartAssembly 6.6 now supports Silverlight 5.

SmartAssembly 6.6 also contains numerous bug-fixes, including:

  • High memory usage caused OutOfMemory Exceptions with large assemblies
  • When pruning was enabled, MethodImpls of overridden pruned methods were not pruned
  • With all SmartAssembly features disabled, custom attributes were not included after processing
  • SmartAssembly crashed when an invalid exclusion was specified

SmartAssembly 6.6.1 fixes the following bugs:

  • Enabling Method Parent Obfuscation could cause the error reporting stack trace to have the wrong type names
  • SmartAssembly crashed with a serializable type in a Silverlight assembly
  • attributes were pruned, even when the DoNotPruneType attribute is present
  • SmartAssembly worked incorrectly when a referenced assembly was signed with a full public key, rather than the token

In addition, Feature usage reporting will now report Amazon EC2 and Windows Azure in the Platform data.

SmartAssembly 6.6.2 fixes the following bugs:

  • Custom error reporting and custom feature usage reporting dialogs based on the samples in the SDK failed to work when directly referenced.
  • Parameters on obfuscated methods were not obfuscated.
  • With advanced obfuscation enabled, an assembly with a class implementing two different implementations of the same generic interface would crash.

SmartAssembly 6.6.3 fixes the following bugs:

  • Improved memory usage when building very large assemblies with error reporting
  • Improved memory usage when building very large assemblies with PDB files
  • An issue in the automatic Check for Updates client

SmartAssembly 6.6.4 fixes the following bugs:

  • In previous versions of SmartAssembly, you could leave dependencies unmerged, which needed to be merged.
  • FlagsAttribute was pruned
  • Syncfusion assemblies could not be merged
  • Assemblies where <Module> is not empty could not be merged
  • Microsoft.Ink could not be merged
  • OutOfMemory exceptions with 64bit-only assemblies

Red Gate have also improved support for Windows Phone 7.1 and Windows Phone 7.5, SQL CLR assemblies and assemblies using PostSharp.

SmartAssembly 6.6.4
This version contains a substantially rewritten engine, which will be faster for some users (and with little speed change for most users).

Other changes are:

  • Tested with Windows Phone 7.1 RTM
  • Tested with Silverlight 5 RC
  • New 'Improve performance' option when using Automated Error Reporting
  • Improved command line options
  • Logging to help diagnose errors
  • Map files are no longer deleted automatically if the assembly was not marked as released
  • Fixed a bug where some code was not pruned when it could be.
    If you are an existing SmartAssembly user, you may need to add new exclusions to your code if the new, more aggressive, pruning causes problems.
  • Fixed a bug where some F# public interfaces were not name obfuscated when they could be.
    If you are an existing SmartAssembly user, and you write F# code, you may need to add new exclusions to public interfaces if the new name obfuscation causes problems.
  • Minor bug fixes
  • Requires .NET 3.5 to run
  • No longer supports main assemblies targeting .NET 1.1 (but dependencies can target .NET 1.x)

Red Gate have also removed the 'Add incorrect metadata' option because it no longer offers a reasonable amount of protection.

SmartAssembly 6.5 is a recommended update for all users of SmartAssembly 6.1 and 6.2, except for customers using SmartAssembly with .NET 1.1 main assemblies.

What's new in SmartAssembly 6.2

  • Version 6.2 adds a set of sample error reports for new users of SmartAssembly. The sample reports are shown when you click View error reports. Please note that existing users do not receive the sample error reports
  • There are also a small number of minor bug fixes related to WPF support, the References Dynamic Proxy and handling timezones in feature usage reports
  • SmartAssembly 6.2 is not supplied via the Check for Updates mechanism to customers who already have SmartAssembly 6.1. There is no need to upgrade SmartAssembly 6.1 to this version

What's new in SmartAssembly 6.1
This minor version release includes a small number of bug fixes:

  • If your assembly has a file alignment other than 512 bytes, SmartAssembly will now use the same file alignment when it builds your application
  • If a custom feature usage reporting template is selected, but the template does not exist, the build will now fail
  • If a custom feature usage reporting template using .NET 4 is selected, but the application is compiled with .NET 2, the build will now fail
  • Fixed the SerializationException encountered when using error reporting with code that uses remoting
  • Fixed ‘Interface not found’ errors when using tamper protection on assemblies which have an interface. (Interfaces no longer have tamper protection applied.)

SmartAssembly version 6.1 also removes the redundant SSL web service connection option in the web service settings.
Please note that this is only a change in the user interface, not a change in the available features. Since SmartAssembly version 5.0, all connections with the default web service have been over HTTP (though the error reports themselves are encrypted). To use HTTPS for error and feature usage reports, you must use a custom web service.

SmartAssembly 6.1 is a recommended update for all users of SmartAssembly 6.0.

What's new in SmartAssembly 6.0

Feature Usage Reporting

  • New Feature Usage Reporting: the functionality is simple and lightweight to start off with, but it can already automatically report information about the number of times various features were used in your application, and system information, such as the end user's OS and the highest version of .NET they have installed.

Automated Error Reporting

  • Jump to the source code from the error report stack trace, for even faster debugging.
  • Added support for error reporting in Windows Phone 7.

Obfuscation

  • Tamper protection for strong name signing that renders your assembly unusable and causes your application to crash, should anyone tamper or change your assembly.
  • Improved Control Flow Obfuscation by adding some extra branches to the code to confuse block analysis (a decompilation step).

Other

  • Support for Xbox XNA version 4.
  • Bug fixes.

SmartAssembly 5.5 adds an extended range of features in Silverlight applications, simplified processing of .xap files, and categorization of error reports.


SmartAssembly Pro adds the following over the Standard Edition:

  • Custom Web Server: If you want to gather exception reports directly to your own server rather than using Red Gate's server.
  • SDK (custom libraries): Allows you to customize the exception reporting experience for your user, and access your exception reports programmatically.
  • Shared Exception Reports: View the exception reports for applications built by any user or build system in your organisation.

SmartAssembly:

  • First-rate .NET obfuscator: obfuscate your .NET code and protect your application
  • Automated error reporting: determine how stable your software is, and receive information on the state of your program when it crashes
  • Optimize your .NET assemblies for better deployment

Code Obfuscation
Worried about other people reverse-engineering your software? Obfuscate and protect your code before releasing it into the wild.

Why do you need to obfuscate your code?
If you've invested time, effort and money in your code, it is advisable to protect it by making it difficult to access. Obfuscating your code will protect your program and intellectual property against reverse-engineering, cracking and modification.

Obfuscating your code with SmartAssembly
SmartAssembly offers a large range of obfuscation features. You can choose to use only one or two, or all of them, depending on your circumstances.

  • Pruning - Pruning automatically scans your software and removes any code that is not essential. This includes removing non-useful metadata, such as the names of events, properties, and method parameters that would give someone else clues about what particular types and methods are for.
  • Obfuscation - Obfuscation changes the name of your classes and methods to unreadable characters, making it more difficult for other people to understand your code.
  • Control Flow Obfuscation - Control Flow Obfuscation changes the code inside your methods, converting it into a complex and tangled control structure (spaghetti code). After Control Flow Obfuscation, you can execute your application in exactly the same way as before, but it is now very difficult for anyone else to analyze your code, and almost impossible for a decompiler to recreate the original source code.
  • Reference Dynamic Proxy - This unique obfuscation feature allows you to hide most of the calls to external methods, properties, or fields in your code, by replacing them with calls to the proxy. This makes your program much harder to crack, because it makes it difficult for anyone to find calls that tend to offer inadvertant clues about where to get started (such as a trial expiry dialog).
  • Resources Compression and Encryption - This feature compresses and encrypts your managed resources. This reduces the size of the assembly and adds further protection to your resources.
  • Strings Encoding - Managed software stores all strings in one place and in a clear structure. These strings can enable a cracker to understand your code, or can even reveal important information, such as passwords, SQL requests, serial numbers, or login information. Strings Encoding protects the strings by encrypting them.

Automated Error Reporting
Don't know when your application crashes, and why? SmartAssembly's exception reporting mechanism provides you with a complete state of your program whenever it crashes.

Getting information about exceptions from users is a nightmare.
Most end-users don't report problems and even your best efforts can't address problems you're not informed of. And of the very few end-users who do report the problem (via email or a forum), most are not technically literate, so they can't provide you with precise information about their system or browser, or give an accurate description of the problem they encountered. This makes reproducing the problem and solving it quickly difficult and time-consuming.

How can SmartAssembly's error reporting system help?
SmartAssembly offers an error reporting mechanism that provides you with a complete state of your program whenever it crashes. You get a full stack trace, along with the values of all variables when the crash happened.

Key benefits

  • Discover the volume of crashes your end-users experience. For every bug reported, there will be ten times as many that you haven't heard of
  • Get a complete state of your program when it crashed (not just the stack trace), including the values of variables when the crash happened – without having to go back and forth in inefficient email conversations with the end-user
  • Focus on fixing the high-priority issues first (most commonly encountered errors and most critical ones). And don't waste time fixing problems that are rarely encountered
  • Deliver a higher-spec product to market – on time
  • Red Gate can run the server for you, so you don't incur costs in setting up and maintaining your own server; or if you don't want to rely their our web-server and want to be 100% independent, they provide a Custom Web Server option
  • You can customize your exception reporting dialog and ask the user to type in more information, or his/her email address
  • You can package any data you want with the exception report (e.g. a screenshot at the time of the crash, or a log file)
  • It is easy to set up and you don't need to alter the target program: spend a few seconds configuring the error reporting functionality in the SmartAssembly UI, and it will output an assembly with error-reporting enabled

Alternative?
You could find out what errors your users are coming across by implementing your own error reporting mechanism into your application, but SmartAssembly offers a much cheaper alternative:

  • Red Gate can run the server, so you don't have to set up and maintain a server
  • Coding your own exception dialog would take days to get it right
  • You never know which variable to log until a crash happens, so if you were to build your own mechanism, you wouldn't get a comprehensive set of data. The results you get with SmartAssembly are much more detailed because it logs ALL of the variables

SmartAssembly's Error Reporting tool is therefore the most effective and efficient way to find out what errors your users are coming across; and by choosing to fix the most common errors, you can improve the quality of your software, thus enhancing your professional image and your credibility.

SmartAssembly Edition Standard Pro Dev
Allows you to process assemblies for release to end-users  
Code Obfuscation Standard Pro Dev
Name mangling, control flow obfuscation, strings encoding, references dynamic proxy, pruning, re-signing strong named assemblies, declarative obfuscation, obfuscation of satellite DLLs, sign assemblies
Tamper Protection  
Application Size Reduction and Speed Improvement Standard Pro Dev
Pruning, resource sompression and encryption, dependencies compression and embedding, dependencies merging, declarative pruning
Automated Error Reporting Standard Pro Dev
Error Reporting
Jump to source code from the stack trace
Report categorization
Custom web service
 
SDK to access your exception reports programmatically and to manually pass exceptions to SmartAssembly if you wish to  
Custom templates for customizing the error reporting dialog and capturing additional data with exception reports (e.g. a log file)
 
Store error reports in SQL Server, allowing you to share the reports with colleagues  
Store error reports in a local .mdb file
Feature Usage Reporting Standard Pro Dev
Feature Usage Reporting
Export reports to CSV
Configuration reporting
Custom web service
 
Custom templates for customizing the dialog box that your end-users see when they are asked to consent to feature usage reporting  
Store feature usage reports in SQL Server, allowing you to share the reports with colleagues  
Store feature usage reports in a local .mdb file

Product Search

Enter search words:

The Software Superstore for IT Professionals

As Official Distributors, ComponentSource offers convenient, one-stop shopping from 250+ Software Publishers specializing in Application Development & Operations.

More Info | About Us

Award