SmartAssembly - 6.5

SmartAssembly

Hiding external calls - SmartAssembly

The references dynamic proxy hides the eventual destination of external calls from your assembly.

If you make calls outside of your assembly, these calls will still be visible in your code after string encoding and control flow obfuscation. For example, if you make a call to a message box, it would still be possible to find that call in the disassembled application, even with string encoding and control obfuscation enabled. By following external calls like this, it may still be possible for other people to understand parts of your code.

To solve this, you can use SmartAssembly to create a proxy at runtime. This proxy makes it harder to understand your code because all external calls appear to be sent to the proxy, and not to the external method, property or field which eventually receives it.

Using the references dynamic proxy

To use hide external calls, in the Project Settings window, go to References Dynamic Proxy or click the icon in the toolbar.

Select the assemblies to protect using a proxy for external calls.

When the references dynamic proxy is enabled the colored bars under the toolbar icon and to the left of the feature options are green. If it is disabled, the bars are orange.

Note that you cannot use the References Dynamic Proxy with assemblies using any version of Compact Framework, Silverlight, Windows Phone 7.x XNA, Xbox XNA, or Windows Phone 7.x.

Troubleshooting the references dynamic proxy

This feature protects your assembly against any modification, so you cannot use this feature if you use another tool to modify your assembly after SmartAssembly.

Was this article helpful?

Search support
Forums
Visit the SmartAssembly forum.

SmartAssembly

all products