Original title:
Převod binárního kódu x86 do vyššího programovacího jazyka
Translated title:
Translation of x86 Binary Code To a High-Level Language
Authors:
Jurík, Marián ; Křivka, Zbyněk (referee) ; Kolář, Dušan (advisor) Document type: Master’s theses
Year:
2008
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
Cílem diplomové práce je navrhnutí a implementace programu na převod binárního kódu do vyššího programovacího jazyka. Práce je zaměřena na binární soubory pro operační systém MS Windows. Je zde podrobně popsán souborový formát PE, který definuje způsob ukládání binárního kódu do souboru. Také je popsána instrukční sada IA-32, kde byl hlavně kladen důraz na způsob dekódování binárního kódu do jazyka symbolických adres. Součástí práce jsou popsány typické konstrukce používané při překladu a návrh vyššího programovacího jazyka. Návrh vychází z existujících jazyků C, C++ a jazyka symbolických adres. Předposlední kapitola pojednává o návrhu programu a samotné implementace. V závěru práce jsou zhodnoceny její výhody a nevýhody.
The purpose of this MSc thesis is to create design and implementation of program for translation of x86 binary code to a high-level programming language. There is described PE file format for executables used in MS Windows operating systems in the first part of work. This document contains general information about instruction set IA-32, especially a way of decoding binary code to assembly language. There are described typical program constructions, which are being used in compilers. Design of creation high-level programming language was inspired by existing programming languages. Conclusion is made about advantages and disadvantages of approach used in this thesis.
Keywords:
binary file; compiler; disassembler; instruction; instruction set IA-32; PE file format; programming language; binární soubor; instrukce; instrukční sada IA-32; PE formát; programovací jazyk; překládač
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/53135