Lecturer: prof. Giovanni Lagorio (DIBRIS, Università di Genova)

When and where

PhD course lectures:


The course introduces techniques and tools to reverse engineer and exploit x86/64 binary programs.

This course has a strong hands-on approach; proficiency in low-level C programming, and familiarity with operating system concepts are a must. Lectures will contain practical activities, therefore participants need to bring their own Linux laptops and set them up appropriately.

The exam consists in the exploitation of some 32/64-bit programs (a different set for each student), and a subsequent discussion of the used techniques and tools.

Laptop (VM?) setup

Assuming a Debian-based distro (examples tested on Ubuntu 16.04); tools:

Installation instructions (except for AFL; just download the latest version and follow the quickstart guide)

Course contents and materials

The playlist of the lectures (in Italian) is available on Youtube.