Mercier, Daniel (2017) dynStruct: An automatic reverse engineering tool for structure recovery and memory use analysis. Master of Science (MSc) thesis, University of Kent. (KAR id:58461)
PDF (MSc thesis)
Other
Language: English
This work is licensed under a Creative Commons Attribution 4.0 International License.
|
|
Download this file (PDF/1MB) |
Preview |
Abstract
In computer security, reverse engineering is understanding how a program work. It can be used for multiple purposes, like malware analysis or security audit of a program. Reverse engineering is possible even without the source of the program. In this case, knowing what data structures are used by the program is a considerable help. But recovering these structures is di cult and time consuming. Also, at the time of writing, no tool doing this recovery has been publicly released.
This paper introduces dynStruct, an open source structure recovery tool. dynStruct recovers structures in two steps. First a data gatherer executes the program and monitors it. The list of all memory accesses made by the program is written to a Json file. Afterwards a script analyzes this Json file to recover the structures. dynStruct also provides a powerful web interface. This interface, in addition to displaying e ciently the structures and raw data from the data gatherer, links the raw data and the recovered structures to allow a quick and powerful exploitation of all this information.
The tests shows that dynStruct can analyze complex program like emacs or xterm. The tests also show that the recovered structures are similar to the original ones. This ensures dynStruct can provide quick and useful information to help reverse engineers in their task.
Item Type: | Thesis (Master of Science (MSc)) |
---|---|
Additional information: | Source code available at https://github.com/ampotos/dynStruct |
Uncontrolled keywords: | Reverse engineering, security, data structures |
Subjects: | Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, > QA76.76 Computer software |
Divisions: | Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing |
Depositing User: | Richard Jones |
Date Deposited: | 08 Nov 2016 17:26 UTC |
Last Modified: | 05 Nov 2024 10:49 UTC |
Resource URI: | https://kar.kent.ac.uk/id/eprint/58461 (The current URI for this page, for reference purposes) |
- Link to SensusAccess
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):