Optimalizace přední části zpětného překladače
Decompiler Front-End Optimizations
Zobrazit/ otevřít
Autor
Vedoucí práce
Křoustek, JakubOponent
Ďurfina, LukášKlasifikace
CAltmetrics
Metadata
Zobrazit celý záznamAbstrakt
Zpětný překladač je nástroj reverzního inženýrství umožňující rekonstrukci strojového kódu na některý z vyšších programovacích jazyků. Tato práce se zaobírá popisem tohoto nástroje, přičemž se soustředí hlavně na zpětný překladač projektu Lissom. Je tu navrhnutých několik technik pro optimalizaci překladu jako statická interpretace LLVM IR kódu a paměť pro výsledky interpretace. Další optimalizace se týkají rozšíření funkcionality přední části překladače, podporu delay slotů a detekci rozložení paměti a endianity. Implementované techniky jsou nakonec demonstrované na generovaném kódu. Decompiler is a reverse engineering tool for translation of binary codes into one of the higher level languages. This bachelor thesis describes such a tool paying special attention on decompiler of the Lissom project. There are proposed several techniques for translation optimalization like static LLVM IR code interpretation and memory for its results. Other optimalizations are conserning addition of platform dependent features like delay slot support or memory datalayout and endianness detection. Finally implemented techniques are demostrated on several examples.
Klíčová slova
reverzní inžinýrství, zpětný prekladač, statická analýza, Lissom, LLVM IR, reverse engineering, decompiler, static analysis, Lissom, LLVM IRJazyk
čeština (Czech)Studijní obor
Informační technologieSložení komise
prof. RNDr. Alexandr Meduna, CSc. (předseda) doc. Ing. Josef Schwarz, CSc. (místopředseda) Ing. Vladimír Bartík, Ph.D. (člen) Ing. Aleš Smrčka, Ph.D. (člen) Ing. Michal Španěl, Ph.D. (člen)Termín obhajoby
2012-06-13Průběh obhajoby
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se pak seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm C. Otázky u obhajoby: Vizuálne znázornite možnosti, ktoré môžu nastať pri zpätnom vyhľadávaní hodnoty registru, zamerajte sa na prípady, keď sa kód vetví a naznačte akými spôsobmi by tieto prípady mohli byť v budúcom vývoji riešené.Výsledek obhajoby
práce byla úspěšně obhájenaZdrojový dokument
ODALOŠ, M. Optimalizace přední části zpětného překladače [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2012.Kolekce
- 2012 [306]