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. 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, but they will not be used as the sole tool in an example.

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
    6. Practical case: Crack Me 0x01
    7. Practical case: Crack Me 0x02
  3. Assembly code
    1. Hello World
    2. Universal Product Code calculator
    3. Debugging code
  4. Binary types
    1. Dot Net
    2. Java
    3. Android
    4. Browser plug-in
  5. Malware analysis
    1. Dot Net RAT
    2. Android SMS Stealer
    3. Automatic string formatting deobfuscation
    4. LNK & ISESteroids Powershell dropper
    5. Emotet droppers
    6. Magecart
  6. Common techniques
    1. General techniques
    2. Android
    3. Windows
    4. Linux
  7. Obtaining samples
    1. Searching samples
    2. Trapping spam e-mails
    3. Setting up a honeypot
  8. Resources
  9. F.A.Q.
  10. Miscellaneous
    1. A year in review: 2018-2019
  11. 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.