Zpětný překlad aplikací pro architekturu AArch64 v nástroji RetDec

Loading...
Thumbnail Image
Date
ORCID
Mark
B
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
Cieľom tejto práce je navrhnúť a implementovať spätný prekladač pre architektúru AArch64. Práca najprv uvedie koncept reverzného inžinierstva, následne všeobecne analyzuje platformu procesorov ARM a architektúru spätného prekladača RetDec od firmy Avast. V~ďalších kapitolách je popísaný návrh a implementácia modulu pre RetDec. Výstupom modulu je preklad strojového kódu do LLVM inštrukcií, ktoré sú následné spracované priechodmi LLVM. Toto vedie k výslednému prekladu do vyššieho jazyka.
The goal of this thesis is to propose and implement a decompiler for the AArch64 architecture. The thesis firstly introduces the concept of reverse engineering, then analyzes the ARM processor platform and architecture of RetDec decompiler from Avast company. In the next chapters, we describe the design and implementation of a module for RetDec. The~purpose of this module is to decompile machine code into LLVM IR instructions which are further processed by LLVM passes. This leads to decompilation to a higher level language.
Description
Citation
KAŠŤÁK, M. Zpětný překlad aplikací pro architekturu AArch64 v nástroji RetDec [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2019.
Document type
Document version
Date of access to the full text
Language of document
cs
Study field
Informační technologie
Comittee
doc. Dr. Ing. Dušan Kolář (předseda) doc. Ing. Jaroslav Zendulka, CSc. (místopředseda) Ing. David Bařina, Ph.D. (člen) Ing. Martin Hrubý, Ph.D. (člen) doc. Ing. Jan Kořenek, Ph.D. (člen)
Date of acceptance
2019-06-11
Defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté 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 " B ". Otázky u obhajoby: Na straně 11 píšete, že zarovnání je ovlivněno velikostí slova (předpokládám 64 bitů), ale instrukce se ukládají na 32 bitech. Znamená to, že je polovina každého slova s instrukcí nevyužita? Jakým způsobem je rozdělen vstupní binární soubor na menší části, které jsou překládány pomocí Capstone? Jsou po získání potřebných informací např. ohledně cíle skoku dále transformovány pseudo funkce jako __pseudo_call nebo již ve výstupním kódu zůstávají?
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení
DOI
Collections
Citace PRO