RustemSoft
proposes
Skater .NET
Obfuscator,
an
obfuscation
tool for
.NET code
protection.
It
implements
all known
software
protection
techniques
and
obfuscation
algorithms.
If you would
like
periodically
obfuscate
your .NET
products the
Skater .NET
Obfuscator
is for you.
RustemSoft
is using the
Skater for
internal
needs
securing all
RustemSoft
.NET
executables
and
assemblies.
Its
command-line
version
running in
batch mode
is much
useful for
your
scheduled
products
updates. You
have to
assign
settings for
an assembly
in GUI
version
first. Then
the batch
obfuscate
task will
use the
settings.
Main features of Skater .NET Obfuscator
Prohibits reverse engineering Obfuscated application usually is not recompilable Processes any .NET application, executable or assembly Encrypts string constants Compatible with any .NET framework (1.0, 1.1, 2.0, 3.0, and 3.5) Control flow obfuscation stops decompilers and deobfuscators Scrambles class names, method names, field names etc. Implements assemblies linkage; linker unites .NET assemblies
You need to obfuscate your .NET code because IL (.NET Intermediate Language) code contains all of the information, apart from comments, that is in .NET executable (*.exe or *.dll) files. Using a decompiler a belligerent competitor can easily reverse engineer your .NET apps. To resist this threat, it is possible to obfuscate your assemblies before distributing your software. The obfuscation process bereaves all unnecessary information used by debuggers from your .NET classes. Also, class, interface, field and method identifiers are renamed to make them meaningless. By using Skater .NET Obfuscator the obfuscation cannot be reversed. Skater .NET Obfuscator has dual representation as a GUI interface and as a command-line tool as well. Skater .NET Obfuscator is designed to be seamlessly integrated into your build process that is why it has the command-line interface. This is done in the reliable and repeatable fashion when the obfuscation tool depends on a graphical user interface for operation.
Application vulnerabilities, Intellectual Property theft and revenue loss are among the most serious risks facing companies today. According to Business Software Alliance statistics, four out of every ten software programs is pirated in software business, world wide.
Unauthorized access to source code can offer a quick back entrance into your systems, business processes and revenue streams. Global piracy rate has increased 40% over the past years and nearly $11 billion is lost. This is definitely a clear threat for software producers and thus to global economy. With more than half of million developers with some level of access to .NET reengineering tools providing near instant access to source from any .NET binary, organizations across industries are entrusting on obfuscation to managing these risks. Over the years, several software protection techniques have been developed, code obfuscation is one of them and it is very promising.
Code obfuscation is a form of software protection against unauthorized reverse-engineering.
The chief functions of any software protection technique can be determined as detection of pirate attempts to decipher or tamper software, protection against such attempts and alteration of software to ensure that it functionality degrades in an undetectable manner if the protection fails.
Cardinal obfuscation techniques:
Private and Public members names obfuscation.
It scrambles names of classes, methods, variables, and other assembly members. It makes assembly code reverse engineering much harder by obfuscating names. Some Skater settings allow to generated names that will prevent recompilation.
String encryption.
The string encryption function allows you to select literal values of string data type to be encrypted. You may select all strings to be encrypted. Also you may mark some specific strings to obfuscate. You have choice to apply a cryptography method for the string encryption. Only specified strings will be encrypted /obfuscated.
Control Flow obfuscation intended to stop decompilers and deobfuscators from functioning correctly.
Control Flow obfuscation subdues reverse engineering by scrambling .NET methods (functions and procedures) code. The Control Flow obfuscation algorithm distorts and reorders the IL code in the assembly, inserting bait branch instructions while preserving code semantics. This obfuscating essentially converts assembly method implementations into "spaghetti code", making interpretation by human hackers and decompiler tools much more difficult.
Actually Control Flow obfuscation involves the insertion of additional instructions. Applying of this feature increases the size of the output assembly. If a maximum level of code protection is not required for your assembly, you may want to consider disabling this feature to minimize your output executable code size.