Native Code Crash Course

In this session we’re diving head-first into understanding and hacking native code. This is an extremely advanced topic, but by the time you are done with this video, you will have a great head start on the subject. You’ll learn about the fundamentals of how computers work, several types of memory corruption bugs, the protections in use by modern systems, and how to bypass some of these protections.

What you’ll learn

  • Intro
    • What is native code?
    • Breadth not depth
  • System Architecture Crash Course
    • Registers
    • Memory
      • Physical
      • Virtual
        • Page tables
    • Stack
    • Endianness
    • Instructions
    • Program Counter
    • Calls
    • Syscalls
    • Shared Libraries
  • Tools
    • Debuggers
    • Disassemblers
    • Decompilers
    • Hex editors
    • Assemblers
  • Bugs
    • Buffer overflows
    • Out of bounds writes
    • Use After Free
  • Protections
    • Stack canaries
    • NX
    • W^X
    • ASLR
  • Bypassing Protections
    • JS is an attacker’s best friend
    • Information leaks (ASLR)
    • ROP

Resources

Video