Show simple item record

dc.contributor.advisorLagorio, Giovanni <1973>
dc.contributor.advisorDell'Amico, Matteo <1979>
dc.contributor.advisorDemetrio, Luca <1993>
dc.contributor.authorZucca, Marco <2000>
dc.date.accessioned2025-04-03T14:18:44Z
dc.date.available2025-04-03T14:18:44Z
dc.date.issued2025-03-27
dc.identifier.urihttps://unire.unige.it/handle/123456789/11809
dc.description.abstractIn 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.abstractIn 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.isoen
dc.rightsinfo:eu-repo/semantics/openAccess
dc.titleRicerca Automatica di Strutture Dati in Memoria per il Reverse Engineering di Programmiit_IT
dc.title.alternativeAutomatic Discovery of In-memory Data Structures to Reverse Engineer Binary Programsen_UK
dc.typeinfo:eu-repo/semantics/masterThesis
dc.subject.miurINF/01 - INFORMATICA
dc.subject.miurINF/01 - INFORMATICA
dc.publisher.nameUniversità degli studi di Genova
dc.date.academicyear2023/2024
dc.description.corsolaurea10852 - COMPUTER SCIENCE
dc.description.area7 - SCIENZE MAT.FIS.NAT.
dc.description.department100023 - DIPARTIMENTO DI INFORMATICA, BIOINGEGNERIA, ROBOTICA E INGEGNERIA DEI SISTEMI


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record