Mostra i principali dati dell'item
Ricerca Automatica di Strutture Dati in Memoria per il Reverse Engineering di Programmi
dc.contributor.advisor | Lagorio, Giovanni <1973> | |
dc.contributor.advisor | Dell'Amico, Matteo <1979> | |
dc.contributor.advisor | Demetrio, Luca <1993> | |
dc.contributor.author | Zucca, Marco <2000> | |
dc.date.accessioned | 2025-04-03T14:18:44Z | |
dc.date.available | 2025-04-03T14:18:44Z | |
dc.date.issued | 2025-03-27 | |
dc.identifier.uri | https://unire.unige.it/handle/123456789/11809 | |
dc.description.abstract | In questa tesi, presentiamo una soluzione per identificare ed estrarre strutture dati da un programma binario. Proponiamo un nuovo metodo per affrontare questo problema, utilizzando il dump della memoria del processo del programma preso in esame e analizzandolo per estrarre le strutture dati utilizzate nel programma ed altre informazioni come la loro dimensione. Questo approccio non richiede il codice sorgente del programma, altre informazioni sul programma o sul sistema, ma solo un dump della memoria del processo. Lo strumento che abbiamo sviluppato è un adattamento di Fossil, uno strumento sviluppato per estrarre le strutture dati del kernel da un dump di memoria di una macchina senza sapere alcuna informazione sul sistema. Abbiamo adattato lo strumento per funzionare con programmi userspace, testandolo su un diversi programmi di uso comune, programmi di test scritti in C realizzati per questo scopo e programmi che utilizzano librerie di strutture dati in C++, dove siamo stati in grado di estrarre informazioni importanti sulle strutture dati utilizzate dal programma. | it_IT |
dc.description.abstract | In this thesis, we present a solution to identifying and extracting data structures from a binary program. We propose a novel method to tackle this problem, by using the dump of the memory process of the program taken in the exam and analysing it to extract data structures used in the program and information like the size of them. This approach does not require the program’s source code or any other information about the program or the system, but only a memory dump of the process. The tool that we developed is an adaptation of Fossil, a tool developed to extract kernel data structure from the memory dump of a machine without any information about the system. We adapted the tool to work with userspace programs, we tested it on a set of different commonly used programs, C programs made for this scope and also a program that uses C++ data structures libraries, where we were able to extract valuable information about the data structures used in the program. | en_UK |
dc.language.iso | en | |
dc.rights | info:eu-repo/semantics/openAccess | |
dc.title | Ricerca Automatica di Strutture Dati in Memoria per il Reverse Engineering di Programmi | it_IT |
dc.title.alternative | Automatic Discovery of In-memory Data Structures to Reverse Engineer Binary Programs | en_UK |
dc.type | info:eu-repo/semantics/masterThesis | |
dc.subject.miur | INF/01 - INFORMATICA | |
dc.subject.miur | INF/01 - INFORMATICA | |
dc.publisher.name | Università degli studi di Genova | |
dc.date.academicyear | 2023/2024 | |
dc.description.corsolaurea | 10852 - COMPUTER SCIENCE | |
dc.description.area | 7 - SCIENZE MAT.FIS.NAT. | |
dc.description.department | 100023 - DIPARTIMENTO DI INFORMATICA, BIOINGEGNERIA, ROBOTICA E INGEGNERIA DEI SISTEMI |
Files in questo item
Questo item appare nelle seguenti collezioni
-
Laurea Magistrale [5659]