This article has been published on the 9th of October 2018.
This chapter focuses on two aspects. Learning how to analyse high level languages and getting the mindset of a reverse engineer. Both of these aspects are explained below.
Learning how to analyse high level languages
The languages in the .NET framework (such as C# and Visual Basic .NET) and Java applications (both on the desktop and Android platform), are high level languages. The approach to analyse such a binary differs significantly from the approach to analyse native languages such as C or C++, as one will see in the coming articles. As stated on the index page, all tools that will be used, are free and (preferably) open-source.
Getting the reverse engineering mindset
Being good at reverse engineering, one has to be technically skilled. Understanding the concepts is key. Additionally, not alternatively, one should have the correct mindset. Mind you, there are more ways to analyse and solve problems. The key to get the mindset right, is to ask yourself the correct questions. Using high level languages in this chapter, the code needs less of an explanation, which leaves more space to add context regarding the mindset.
With this in the back of your head, one can start the third chapter of the binary analysis course!