Anotující disassembler pro AMD64
An annotating disassembler for AMD64
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/46322Identifikátory
SIS: 117543
Katalog UK: 990015589860106986
Kolekce
- Kvalifikační práce [11987]
Autor
Vedoucí práce
Oponent práce
Děcký, Martin
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Obecná informatika
Katedra / ústav / klinika
Katedra aplikované matematiky
Datum obhajoby
18. 6. 2012
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Velmi dobře
Klíčová slova (česky)
disassembler, AMD64, analýza kóduKlíčová slova (anglicky)
disassembler, AMD64, code analysisCí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.
