
“Remotesoft demonstrates the various techniques that can be used to secure commercial, enterprise and mobile applications based on the .NET Framework or .NET Compact Framework. With this level of in-depth protection, developers can focus more on development than on worrying about protecting intellectual property.” -- Mike Kass, product manager for the Developer and Platform Evangelism Division at Microsoft Corp.
Salamander .NET protector is the only technology that offers real protection for your .NET code. In contrast to an obfuscator that makes decompilation more difficult by symbol renaming, our protector completely stops MSIL disassembly and decompilation . With this tool, you are assured that no one will be able to steal your source code. With this tool, you no longer need to worry about one headache of Microsoft .NET platform - decompilation.
Our protector is not an obfuscator, rather it converts the decompilable Microsoft Intermediate Language code (MSIL or CIL) of your assemblies into native format while keeping all .NET metadata intact, and thus it provides the same level of protection as native C/C++ code. Further more, it offers code, string and resource encryption, and therefore, it provides even better protection than native C/C++ code.
Code Protection screenshot
The protector shuts down disassembly and decompilation rather than simply obfuscating code. Because the protector encrypts and replaces MSIL code with native code, Microsoft .NET Framework-based assemblies cannot be decompiled back to high-level source code. This is impossible for an obfuscator to achieve since the output of any obfuscator is still MSIL code.
Before: IL_0000: ldstr "Hello World using C#!" IL_0005: call void [mscorlib]System.Console::WriteLine(string) IL_00a: ret After: 00000000 mov eax,dword ptr ds:[20004000h] 00000006 mov ecx,dword ptr [eax] 00000008 mov eax,dword ptr ds:[200046C0h] 0000000e call dword ptr [eax] 00000020 ret
String Protection screenshot
String protection prevents the viewing and searching of any literal strings such as user id or special keys that may be found in MSIL code. The implementation is secure and no extra instructions are introduced. In contrast, obfuscators inject a decryption method immediately after each string which allows a hacker to easily retrieve strings by invoking that embedded decryption method. For instance, our salamander decompiler automatically removes any string encryptions injected by obfuscators. A detailed document can be found here.
Our protector takes a very different approach such that
retrieval of the original strings are extremely difficult, and yet the
strings are available to the Common Language Runtime (CLR).
Resource Protection
screenshot
Resource protection prevents icons, images, strings and
other managed resources in MSIL code from being viewed. Our protector is the
only product that offers such a feature.
Licensing Management Support
The protector provides a security callback function that
allows custom licensing code to be integrated into the protected code.
This function will be invoked before any application code is put into
place. When it fails, code is still in protected form, and there is no way
to execute the application code, which is ideal to implement trial versions for
.NET software.
The protector can generate the same code that runs well
regardless of the versions of the Microsoft .NET Framework versions and
other dependent libraries. For instance, the protected
code runs well with Framework 1.0, 1.1 and different
service packs.
No Runtime Discrepancy
The protector
supports standalone applications (.exe) as well as class libraries (.dll), such
as ASP.NET, Windows Form Controls, Web Components, Windows Services, Web
Services, etc. In all situations, the protected code behaves exactly same as
the original at design time and runtime, and there is no reflection-related
problems that obfuscators have to deal with. No configuration file is required.
Seamless Integration with Visual
Studio .NET screenshot
An addin is provided for seamless integration with
Microsoft Visual Studio .NET. Protection can be performed within the same IDE,
and can also be added into the automatic build process. Advanced Graphical User Interfaces An advanced GUI, Remotesoft .NET Explorer, is
provided in addition to the command-line utility, the protector simply
takes .exe and .dll files as input, and transforms them into the new
format.