UniCa UniCa News Communication Seminar - Reverse Engineering and Low-Level Program Analysis

Seminar - Reverse Engineering and Low-Level Program Analysis

Autore dell'avviso: Davide Maiorca

30 June 2021
Registrations are open for the seminar Reverse Engineering and Low-Level Program Analysis


For those who are interested, from  June 30th to July 10th it is possible to register to attend the seminar "Reverse Engineering and Low-Level Program Analysis".

Registration can be done by filling in this form.

In the following, a brief description of the course is provided.

Lecturer: Prof. Davide Maiorca - davide.maiorca[at]unica[dot]it

Language: English (Entirely Online)

Target students: Ph.D (DRIEI); Master Degree Students in Computer Engineering, CyberSecurity and Artificial Intelligence; Master Degree in Electronic Engineering; Master Degree in Technologies for the Internet.

Duration: 24 hours

Goal of the course: Reverse Engineering (RE) is a discipline that can be employed to analyze the functionality of programs without having the related source code. Thanks to RE, it is possible to understand the bugs of a program, to extract possible hidden functionalities and also to change the whole behavior of the program itself. This course will provide the basic tools to understand and analyze the low-level behavior of a program. In particular, we start by providing an overview of programs written in Assembly X86/64, as well as static and dynamic techniques for their analysis. Then, we will also analyze programs written in MIPS and ARM. The course will employ a game-based approach, where students will consolidate the topics through challenges taken from world of capture-the-flag (CTF).

Requirements: None


8 hours – Assembly X86/64 Basics - Static and Dynamic Analysis - Practice Exercises

8 hours -  Fundamentals of MIPS reversing - Practice Exercises

8 hours – Fundamentals of ARM reversing - Practice Exercises

Detailed Table of Contents:

X86-64 Reverse Engineering:

- Structure of ELF files

- Process Structure in Memory

- Registers and Opcodes

- Conditional and control instructions

- Execution of functions and subroutine calls

- Disassembling and Decompilation tools

- Dynamic Analysis fundamentals

- Practice exercises

MIPS Reverse Engineering:

- Introduction to the MIPS architecture

- MIPS cross-compiling and execution

- Opcodes and registers

- Loading and storing

- Control instructions, branching and setting

- Calling functions - structure of the stack

- Practice exercises

ARM Reverse Engineering:

- Introduction to the ARM architecture

- ARM cross-compiling and execution

- ARM vs X86 registers

- ARM instructions

- Loading and storing

- Branches

- Function calls and stack

- Practice exercises


Important Dates and Seminar Schedule (2021):

The seminar will be held in the following days of July:

July 12th, July 16th, July 19th, July 23th, July 26th and July 30th

Time: 10 to 14 (4 hours lecture/day)

Last notices

25 October 2021


Modalità di erogazione delle lezioni di Paletnologia e di Ecologia umana delle società preistoriche mediterranee del 4 e 5 novembre 2021

Questionnaire and social

Share on: