top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

What is Obfuscation and how does it secure our .net Code?

+3 votes
394 views
What is Obfuscation and how does it secure our .net Code?
posted May 31, 2014 by Muskan

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

1 Answer

+1 vote
 
Best answer

Obfuscation is a technique used to complicate code. Obfuscation makes code harder to understand when it is decompiled, but it typically has no affect on the functionality of the code.

Types of Obfuscation

Name Obfuscation: Name obfuscation changes the name of your classes and methods to unreadable characters, making your code harder to understand

String Encryption: Managed software stores all the strings in one place and in a clear structure. This makes it easy to find the strings in a decompiled assembly. By following the references to these strings, it may be possible to understand the purpose of your code, even after obfuscation. String encryption works by moving all user strings to an encrypted block of storage. When needed, the runtime executive decrypts the string in memory.

Control Flow Obfuscation: Control flow obfuscation is about modifying the program so that it yields the same result when run, but is impossible to decompile into a well-structured source code and is more difficult to understand.

Code Encryption: Code encryption protects the MSIL instructions by encrypting them and stripping the original instructions from the assembly, encrypted instructions are kept in a secure storage. When the assembly is loaded a native runtime executive assumes control of portions of the .NET runtime and manages decrypting the MSIL as needed.

Code Virtualization: Code virtualization converts your MSIL code into Virtual Opcodes that will only be understood by a secure Virtual machine.

Reference: http://en.wikipedia.org/wiki/List_of_obfuscators_for_.NET

answer May 31, 2014 by Santosh Prasad
Similar Questions
+4 votes

What is the difference between <asp:Panel > and <asp:PlaceHolder > in ASP.NET? When should you use one over the other?

+4 votes

Also want to know where and how each one is used?

+4 votes
...