Original title:
Anotující disassembler pro AMD64
Translated title:
An annotating disassembler for AMD64
Authors:
Láska, Ladislav ; Mareš, Martin (advisor) ; Děcký, Martin (referee) Document type: Bachelor's theses
Year:
2012
Language:
cze Abstract:
[cze][eng] Cílem práce je vytvořit disassembler pro architekturu AMD64, který bude sloužit pro zjednodušení analýzy programů na úrovni strojového kódu. Práce popisuje formát instrukcí, binárních souborů a systémové konvence, které jsou následně využity ve vypracovaném disassembleru. Ten umí například analyzovat a vizualizovat skoky, pracovat s výchozím obsahem paměti, interpretovat volací konvence ABI, přejmenovávat a zjednodušovat výrazy, u kterých známe hodnoty a další. Nedílnou součástí je také skriptovací API pro Python, které umožňuje psát rozšiřující pluginy a přidávat funkce za hranice toho, na co myslel autor.The goal of this work is to create a disassembler for the AMD64 architecture which would simplify program analysis in machine code. The work describes low-level instruction format, object file format and system conventions, on which we base our program. Its features are for example branch analysis and visualization, the ability to work with default memory contents, interpretation of ABI calling conventions, expression renaming and simplification based on known values. Scripting API for Python is integrated, which enables the user to write custom plug-ins, and extend its abilities beyond what the author has anticipated.
Keywords:
AMD64; code analysis; disassembler; AMD64; analýza kódu; disassembler
Institution: Charles University Faculties (theses)
(web)
Document availability information: Available in the Charles University Digital Repository. Original record: http://hdl.handle.net/20.500.11956/46322