Zpětný překlad vysokoúrovňových konstrukcí jazyka C++
but.committee | doc. Dr. Ing. Dušan Kolář (předseda) prof. Ing. Miroslav Švéda, CSc. (místopředseda) Doc. Ing. Přemysl Brada, MSc. Ph.D. (člen) Ing. Šárka Květoňová, Ph.D. (člen) doc. Mgr. Adam Rogalewicz, Ph.D. (člen) doc. Ing. Jaroslav Zendulka, CSc. (člen) | cs |
but.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 A. Otázky u obhajoby: Detailněji zdůvodněte, proč je třeba i v destruktoru inicializovat ukazatel na tabulku virtuálních metod (viz strana 26). V závěru zmiňujete některá zajímavá rozšíření. Můžete blíže nastínit možný způsob detekce operátoru new a delete a proč je to problém? | cs |
but.jazyk | čeština (Czech) | |
but.program | Informační technologie | cs |
but.result | práce byla úspěšně obhájena | cs |
dc.contributor.advisor | Matula, Peter | cs |
dc.contributor.author | Jakub, Dušan | cs |
dc.contributor.referee | Křivka, Zbyněk | cs |
dc.date.created | 2015 | cs |
dc.description.abstract | Práce se zabývá dekompilací konstrukcí vysokoúrovňového objektového jazyka C++ ze strojového kódu. Je definován pojem zpětného překladu a popsány existující zpětné překladače s~důrazem na dekompilaci C++. Dále je představen dekompilátor AVG, v jehož rámci tato práce vznikla. Je analyzován jazyk C++, a to jak na úrovni konstrukcí jazyka, tak na úrovni strojového kódu, a jsou představeny existující metody jeho dekompilace. Na jejich základě je navržen postup dekompilace tříd, jejich hierarchie, konstruktorů, destruktorů a virtuálních metod. Je detekováno i volání virtuálních metod. Navržený postup je implementován, podroben experimentům a zhodnocen. V závěru je nastíněno několik návrhů na další vývoj. | cs |
dc.description.abstract | The thesis addresses the decompilation of high-level object-oriented C++ language from a machine code. The term reverse engineering is defined and existing decompilers are described with emphasis on their ability to reconstruct C++. AVG decompiler project is introduced, to which this thesis contributes. C++ language is analysed, both on a logical level and in the machine code and existing methods of decompilation are described. On this basis a novel method is introduced, capable of decompiling classes, their hierarchy, constructors, destructors and definitions and usages of virtual methods. The method is implemented, tested and evaluated. In the conclusion, several suggestions for future development of this project are presented. | en |
dc.description.mark | A | cs |
dc.identifier.citation | JAKUB, D. Zpětný překlad vysokoúrovňových konstrukcí jazyka C++ [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2015. | cs |
dc.identifier.other | 88807 | cs |
dc.identifier.uri | http://hdl.handle.net/11012/64037 | |
dc.language.iso | cs | cs |
dc.publisher | Vysoké učení technické v Brně. Fakulta informačních technologií | cs |
dc.rights | Standardní licenční smlouva - přístup k plnému textu bez omezení | cs |
dc.subject | Zpětné inženýrství | cs |
dc.subject | dekompilace | cs |
dc.subject | strojový kód | cs |
dc.subject | assembler | cs |
dc.subject | C++ | cs |
dc.subject | objektový jazyk | cs |
dc.subject | třída | cs |
dc.subject | dědičnost | cs |
dc.subject | tabulka virtuálních metod | cs |
dc.subject | konstruktor | cs |
dc.subject | destruktor | cs |
dc.subject | pozdní vazba | cs |
dc.subject | LLVM | cs |
dc.subject | AVG | cs |
dc.subject | Reverse engineering | en |
dc.subject | decompilation | en |
dc.subject | machine code | en |
dc.subject | assembler | en |
dc.subject | C++ | en |
dc.subject | object-oriented language | en |
dc.subject | class | en |
dc.subject | inheritance | en |
dc.subject | virtual method table | en |
dc.subject | constructor | en |
dc.subject | destructor | en |
dc.subject | late binding | en |
dc.subject | LLVM | en |
dc.subject | AVG | en |
dc.title | Zpětný překlad vysokoúrovňových konstrukcí jazyka C++ | cs |
dc.title.alternative | Decompilation of High-Level Constructions in C++ Binaries | en |
dc.type | Text | cs |
dc.type.driver | masterThesis | en |
dc.type.evskp | diplomová práce | cs |
dcterms.dateAccepted | 2015-06-22 | cs |
dcterms.modified | 2020-05-10-16:12:16 | cs |
eprints.affiliatedInstitution.faculty | Fakulta informačních technologií | cs |
sync.item.dbid | 88807 | en |
sync.item.dbtype | ZP | en |
sync.item.insts | 2025.03.26 15:20:48 | en |
sync.item.modts | 2025.01.15 21:15:11 | en |
thesis.discipline | Informační systémy | cs |
thesis.grantor | Vysoké učení technické v Brně. Fakulta informačních technologií. Ústav informačních systémů | cs |
thesis.level | Inženýrský | cs |
thesis.name | Ing. | cs |
Files
Original bundle
1 - 4 of 4
Loading...
- Name:
- final-thesis.pdf
- Size:
- 3.2 MB
- Format:
- Adobe Portable Document Format
- Description:
- final-thesis.pdf
Loading...
- Name:
- Posudek-Vedouci prace-17893_v.pdf
- Size:
- 86.52 KB
- Format:
- Adobe Portable Document Format
- Description:
- Posudek-Vedouci prace-17893_v.pdf
Loading...
- Name:
- Posudek-Oponent prace-17893_o.pdf
- Size:
- 89.22 KB
- Format:
- Adobe Portable Document Format
- Description:
- Posudek-Oponent prace-17893_o.pdf
Loading...
- Name:
- review_88807.html
- Size:
- 1.45 KB
- Format:
- Hypertext Markup Language
- Description:
- file review_88807.html