.NET,Framework,MSIL,What,Obfus computer .NET Framework MSIL: What is Obfuscation?


----------------------------------------------------------Permission is granted for the below article to forward,reprint, distribute, use for ezine, newsletter, website,offer as free bonus or part of a product for sale as longas no changes a Gone are those times when the companies and the organisations didn't need a hi-tech system to handle them. Owing to the considerable increase in the business sector and thus, an enormous increase in the complexity of the organisational struc


Q: What is Obfuscation?A: Obfuscation protects your code from reverse engineering by making your code so confusing that it cannot be easily decompiled into human readable code.  A well-written .NET obfuscator tool does this for you automatically by modifying assemblies after they have been compiled. Altering the code in such a way that the code will still run and execute in the same way but any attempt to decompile the assemblies will only produce meaningless code that will confuse human interpreters.Basic .NET obfuscators just rename all the identifiers within the code to randomly generated names, i.e. all method and class names will be renamed to meaningless words. They may use hashing techniques or arithmetically offset the characters to unreadable or unprintable characters.  These techniques make the code very hard to understand and navigate but with time and a bit more effort than non-obfuscated assemblies they can be reverse-engineered.Advanced .NET obfuscators provide even more protection. They use advanced techniques to not only rename the symbol identifiers but change the underlying MSIL code within the assemblies making the code almost impossible to decompile by decompilation software. While it will always be possible to manually analyse the MSIL code and reverse-engineer an assembly, if the code is too difficult to decompile with the use of automated decompilation software, it is safe to say that it will be nearly impossible for a human to decompile and reverse engineer the assemblies and most certainly not worth the effort it would take to do so.Basic obfuscation (i.e. symbol renaming) can be further enhanced by overload induction. Overload induction takes symbol renaming a step further by reusing symbol names where ever possible. If two methods or functions have different parameters they can be renamed with the same identifier name even if both methods may have completely different functionality. This adds further confusion since the majority of methods and functions within the assemblies end up with the same symbol names.A side effect of the symbol renaming used by .NET obfuscators is that any stack traces produced in error messages are no longer in human readable format. Advanced .NET obfuscators provide the ability to parse these obfuscated stack traces and return a human readable version.  In general this functionality is only available to the person/company who obfuscated the code in the first place and is either controlled by password encrypted symbol names or symbol name lookup files. Obfuscation Example:The following C# example demonstrates symbol renaming in conjunction with overload induction:Source Code Before Obfuscation:        private void IncreaseSalaries(EmployeeInfoCollection employees) {           while (employees.HasMore()) {              employee = employees.GetNext(true);              employee.IncreaseSalary();              NotifyEmployee(employee);           }        }Reverse-Engineered Source Code After Obfuscation:        private void a(a b) {           while (b.a()) {              a = b.a(true);              a.a();              a(a);           }        }The above example not only makes the code incredibly difficult to understand, but it reduces the amount of code by using shorter symbol names resulting in smaller assemblies.

.NET,Framework,MSIL,What,Obfus

computer

Equipment Rental Software – Features And Cost

Equipment rental management software is an essential thing these days for any equipment rental company.A well-developed equipment rental software provides you with a variety of features that can really help you maintain and organise your cus ...

computer

5 Big Reasons Why I Migrated From Angularjs To React

I have 5 main reasons for my angularjs to react migration. No, it's not a comparison on which is better. A comparison between apples and oranges would make no point. React is a library, and angular is a framework. Both can do stuff in their ...

computer

How to troubleshoot McAfee error 2318?

Security software means McAfee! For many computer users, McAfee antivirus is the only choice for security software as it provides all the features and tools which are necessary for device and data protection. This robust antivirus merely sho ...

computer

Manage Multiple Counter With AlignBooks Point of Sale

Fulfilling your businesss needs which can grow your firm is our aim. AlignBooks is better known for providing a strong pillar to newly started or midway businesss. Those companies who dont want to fall back with irregularity manage the inven ...

computer

How to Autoplay Embedded YouTube Videos

Source: How to Autoplay Embedded YouTube VideosEmbedding a video or audio enables the users to share their videos with any of their preferred sites or any social networking platforms. They can do so by copying the embedded link of the parti ...

computer

3 Major Mistakes to Avoid in Retail Business

Truth be told, nearly half of the retail businesses survive longer than four years and which can be something to ponder for a newbie before stepping into the industry. However, this being said, it is also true that you can excel in the indus ...

computer

Start Your Own Computer Repair Business

1. Know your street value. In the early 90's, running a PC repair business centered around selling parts and products, with service on the side. Today, it's about selling hours. If you run a business, you need to consider the X3 rule. That m ...

computer

How Establishments Show Up in Restaurant Searches

The revolutionary rise of technology has made things easy-peasy for consumers in the restaurant industry. Unlike the old days, the availability of innumerable platforms has made it possible for diners to choose from various searching options ...

computer

GuildWars 2 :

The last expansion pack for Guild Wars 2 was Path of Fire, which was released in 2017 and brings you a new enemy-Balthazar, the evil god of war. Although this doesn't sound like another expansion pack currently in production, some fans ma ...

computer

Customer Support at the time of COVID-19 Pandemic

COVID-19 is the worst crisis of our time as we observe social distancing protocols being imposed all around the world. While these measures are a step in effectively managing the COVID-19 pandemic, Hospitality and Retail businesses are confr ...

computer

How to Choose a Contract Management Solution (CLM)?

Contract life cycle management (CLM) systems can simplify and automate contract creation, negotiation, execution and storage. They are an intelligent alternative to the tedious hand tools formerly used for these tasks, which lacked visibili ...

computer

Contacting Google Live Person to Resolve Your Issues

Users are fond of all the Google supported products and look forward to the best services. Also, Google as a whole has never disappointed its users and helped them at every point with its commendable services. Also, being a customer-oriente ...

computer

how to uninstall discord

How to Uninstall Discord in Windows 10? has supported open source technologies, our tool is secure and safe to use. To uninstall a discord from your windows, you'll use this method which is given below.USING THIRD PARTY TOOLS1. Firstly, you ...