This post is the second part of the Hacking .NET Applications serie. The first part can be found at the following URL:
In this second part I am going to show how to extract, analyse and tweak the .NET application.
Until recent times, I was only aware of a single way to extract code from the .NET application, that is by using a (now) commercial tool called .NET Reflector. This tool is still awesome and allows you to retrieve the application source code. However, re-compilation of the code cannot be done, if you are wondering If that was possible!
For a work engagement, I had to study how to hack .NET application. I am glad i had to do this. No really worth to say it; this post will go through some of the techniques I have learn from this experience.
I found two approaches of hacking .NET applications. The first one is by using a debugger and retrieve as many information as I could and possibly utilise the power of the debugger to perform changes to the run-time code.
The second is to disassemble the application to retrieve IL code, study the application and potentially hard-code changes on the IL that will be re-assembled into a new hacked version of the application.
This post is a quick intro about the first concepts of reversing firmware. It is not a methodology that can be used to reverse any firmware due to the nature and the variety of devices and firmwares available, however the steps and the tools used in this post are a good starting point for who wants to learn more about this matter. In this article I will be reversing a few router firmware.
Reversing firmware can be fun but also very frustrating. There are firmware that can be easily reversed just by using the right tools at the right time, others in which you need to read lines of assembly code, some may come obfuscated and requires extra effort before being reversed.