Binary Analysis Course

This course starts at the very start, where it is assumed that the reader has little to no low level knowledge. It is expected that the reader is able to understand basic programming aspects such as functions/methods, variables, types and system calls. Unlike most courses, this course aims to only use free and open-source software. The program that will mainly be used, is Radare2 together with plug-ins. This way, everybody can participate and follow the course, whereas most other courses are focused on proprietary tools which cost up to thousands of dollars. This won’t exclude such tools from being used in additional examples later on.

As the course progresses, the material gets more in-depth and complex. Throughout the chapters, there are practical cases included. These cases serve two purposes. Firstly, the reader is greeted with a puzzle every once in a while, instead of pure theory. Secondly, it provides insight in the reader’s learning curve with the help of a given case.

In the list below, each chapter (and the lessons in them) can be found. You can refer to this page as the ‘Table of contents’ or ‘Index’ and bookmark it as such.

  1. Introduction to the course
    1. Practical case: Secura Grand Slam CTF “Easy Reverse”
    2. The set-up
    3. Basic CPU architecture
    4. Compilers and (dis)assemblers
  2. Assembly basics
    1. Conditions and loops
    2. Practical case: Patch Me 0x01
    3. Methods and macros: the call stack
    4. Practical case: Buffer Overflow 0x01
    5. Crash course
  3. Binary types
    1. Dot Net
    2. Java
    3. Android
  4. Malware analysis
    1. Dot Net RAT
  5. Resources
  6. F.A.Q.
  7. More to come!

To contact me, you can e-mail me at [info][at][maxkersten][dot][nl], send me a PM on Reddit or DM me on Twitter @LibraAnalysis.