Result Details
Code Analysis and Transformation To a High-Level Language
Práce popisuje metody a postupy používané k analýze a transformacikódů. Obsahuje základní informace o vědním oboru reverzní inženýrství ajeho užití ve výpočetní technice i mimo ni. Hlavním cílem je vytvořeníobecného zpětného překladače neboli dekompilátoru, tj. prostředku prozpětný překlad z binární formy (případně jazyka symbolických instrukcí)do vyššího programovacího jazyka. Zmíněná činnost je silně závislá nakonkrétní instrukční sadě a architektuře procesoru. Tento problém jeřešen pomocí popisu sémantiky jednotlivých instrukcí jazykem navrženýmpro tento účel. Výstupem je program napsaný ve vyšším programovacímjazyku, funkčně ekvivalentní vstupu. Program je tedy schopen pracovat sjakoukoliv instrukční sadou a kód v ní napsaný pak převést do zvolenéhovyššího programovacího jazyku. Obecný dekompilátor je zcela nový pojem apro jeho vytvoření byly autorem navrženy doposud nepublikované technikyz oblastí teorie překladačů a optimalizací.
Primary objective of this thesis is a construction of a generic decompiler, i.e. tool that can recompile from any binary form to a chosen high level language. Output must be function-ally equivalent to the input. Process of decompilation is highly dependent on the processor architecture. This problem is solved with description of semantic of each instruction by a special language designed for this use. This proposal is implemented in practice as a part of project Lissom. Generic decompiler is completely new idea. The thesis contains entirely new techniques from theory of compilers and optimizations made by the author.
Reverzní inženýrství, zpětný překlad, překladač, dekompilátor, disassembler, assembler, Lissom, ISAC, LLVM IR
Reverse engineering, recompilation, compiler, decompiler, disassembler, assembler, Lissom, ISAC, LLVM IR
@inproceedings{BUT32565,
author="Jakub {Křoustek}",
title="Code Analysis and Transformation To a High-Level Language",
booktitle="Proceedings of the 15th Conference STUDENT EEICT 2009",
year="2009",
pages="196--198",
publisher="Vysoké učení technické v Brně",
address="Brno",
isbn="978-80-214-3868-2"
}
System for Programming and Realization of Embedded Systems, MPO, TIP, FR-TI1/038, start: 2009-07-01, end: 2013-06-30, completed