ls
ls

About this course

Learning Outcomes

This course provides an overview on the problems and challenges related to the foundations of programming. We’ll discuss basic concepts such as the concept of algorithm and programs, how the computers work, how to program in C, and the relation between C and Assembly.

Textbook

jon Erickson, Hacking: The Art of Exploitation (2nd edition)… it is a great book but we’ll only focus on chapter 0x200

Lessons

L0. 21-October-2021 (Thursday) [14.00-18.00]

  1. Q&A [30m]
    • #whoami & course overview
    • Q&A
    • What is a computer?
    • What is a number?
    • What is an algorithm?
    • What is programming?
  2. Intro to programming [1h30m]
    • Explanation from page 5 to 19 (stop before book section 0x250)
    • Linux WSL and ubuntu installation, VSCode useful extensions
  3. Coffee break [10m]
  4. Excercises [1h50m]
    • First C program -> explanation of book example
    • First exercise in C
    • Some more exercises
    • Induction (if (time>0))
Lesson 0 - Resources

L1. 22-October-2021 (Friday) [14.00-18.00]

  1. ASM intro [30m]
    • x86 processor (book section 0x252)
    • GDB basics
    • Breakpoint
    • Registers info
  2. ASM language [1h]
    • Disassembly
    • Registers
    • Inspect program (ASM vs C, registers and gdb)
  3. Coffee break [10m]
  4. Exercises [2h20m]
    • Do it with your arch. What does it change? (32bit vs 64bit)

L2. 26-October-2021 (Tuesday) [14.00-18.00]

  1. README: instructions on how to inspect code with gdb
  2. Ex. 1: use gdb to inspect code (ex1.c)
  3. Ex. 2: use gdb to inspect code with ASCII (ex2.c)
  4. DYI: Can you inspect the code in (firstprog.c)
  5. Coffee break [10m]
  6. Exercises [1h]
    • super secret club ex. (file.c)

L3. 26-October-2021 (Monday) [14.00-18.00]

  1. C basics [4h]
    • String
    • Array
    • Types
    • Pointers
    • Format strings
    • Command line
    • Variable scoping
  2. Coffee break [10m]

L4. 27-October-2021 (Wednesday) [14.00-18.00]

  1. Exercises [4h]
    • isolaDeserta.c
  2. Coffee break [10m]
Lesson 4 - Resources