Publication detail

Code Analysis and Transformation To a High-Level Language

KŘOUSTEK, J.

Original Title

Code Analysis and Transformation To a High-Level Language

English Title

Code Analysis and Transformation To a High-Level Language

Type

article in a collection out of WoS and Scopus

Language

Czech

Original Abstract

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í.

English abstract

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.

Keywords

Reverzní inženýrství, zpětný překlad, překladač, dekompilátor, disassembler, assembler, Lissom, ISAC, LLVM IR

Key words in English

Reverse engineering, recompilation, compiler, decompiler, disassembler, assembler, Lissom, ISAC, LLVM IR

Authors

KŘOUSTEK, J.

RIV year

2009

Released

23. 4. 2009

Publisher

Vysoké učení technické v Brně

Location

Brno

ISBN

978-80-214-3868-2

Book

Proceedings of the 15th Conference STUDENT EEICT 2009

Pages from

196

Pages to

198

Pages count

3

BibTex

@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"
}