disast.rs :: now :: notes

"Low-Level" curriculum

  1. Learn to write C: Write an http webserver
  2. Learn (an) assembly: Compile, then objdump this:
    #include <stdio.h>
      int main() {
        int x = 1337;
        while(x--) {
          printf("ayo\n");
        }
        return 0;
      }
  3. Learn to reverse-engineer compiled programs: try some crackmes
  4. Get a microcontroller, and learn to write C for it

Some books:

  1. The Ghidra Book: The Definitive Guide (Eagle, Nance)
  2. Blue Fox: Arm Assembly Internals and Reverse Engineering (Markstedter)
  3. Practical Reverse Engineering: x86, x64, ARM, Windows Kernel, Reversing Tools, and Obfuscation (Dang, Gazet et. al.)
  4. Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software (Sikorski)

Sources

"Before you code, learn how computers work"