{smartassembly}, .net software Obfuscation, Protection & Improvement


How does {smartassembly} improve your Application? (3/9)


This information refers to {smartassembly} 1.1 and will be updated with 2.0.

Pruning


In the next Step, we can decide if we want to remove the non-useful code from the resulting Assembly.



We select the option I want to remove ALL the non-useful code.

If we click on the Edit the list button, {smartassembly} will open a dialog form. This form displays the code and metadata, which is going to be removed.

In our sample, {smartassembly} will remove some code in the MyMath library:

In the MyUI library, some properties are not needed either, and will thus be removed too:


Examples of non useful-code:

Dead-code, which is code that will never be accessed because all calls to it have been removed, due to changes in the program.
Features that are still in development and not yet fully implemented. This is common when you create a patch from a more recent source code.
Most assemblies use specific code at design-time (designers, attributes, metadata, etc.) with is not necessary at run-time.
The use or re-use of external components (developed internally or by a 3rd party) leads to a lot of generic code which is implemented but not always used: Properties, methods, and even objects not useful for your application.

Practically, it's impossible to remove useless code in each component, mainly because the code used may change at each compilation.
But, as {smartassembly} creates a unique assembly, based on all these components, it can remove all this useless code, even if it changes between each compilation.

As {smartassembly} is a post-compilation process, no developments facilities allowed by these components are sacrificed.


What are the benefits of removing the non-useful code?

It reduces the size of the Assembly, and thus improves loading time and global performance. A smaller Assembly is also easier to deploy through the Internet or a corporate network.
It avoids exposing non useful code, like code not fully implemented yet, which may reveal upcoming features.


< Merging (2/9) | Obfuscation (4/9) >  


New version Available