Zpětný překlad vysokoúrovňových konstrukcí jazyka C++

but.committeedoc. 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.defenceStudent 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.programInformační technologiecs
but.resultpráce byla úspěšně obhájenacs
dc.contributor.advisorMatula, Petercs
dc.contributor.authorJakub, Dušancs
dc.contributor.refereeKřivka, Zbyněkcs
dc.date.created2015cs
dc.description.abstractPrá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.abstractThe 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.markAcs
dc.identifier.citationJAKUB, 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.other88807cs
dc.identifier.urihttp://hdl.handle.net/11012/64037
dc.language.isocscs
dc.publisherVysoké učení technické v Brně. Fakulta informačních technologiícs
dc.rightsStandardní licenční smlouva - přístup k plnému textu bez omezenícs
dc.subjectZpětné inženýrstvícs
dc.subjectdekompilacecs
dc.subjectstrojový kódcs
dc.subjectassemblercs
dc.subjectC++cs
dc.subjectobjektový jazykcs
dc.subjecttřídacs
dc.subjectdědičnostcs
dc.subjecttabulka virtuálních metodcs
dc.subjectkonstruktorcs
dc.subjectdestruktorcs
dc.subjectpozdní vazbacs
dc.subjectLLVMcs
dc.subjectAVGcs
dc.subjectReverse engineeringen
dc.subjectdecompilationen
dc.subjectmachine codeen
dc.subjectassembleren
dc.subjectC++en
dc.subjectobject-oriented languageen
dc.subjectclassen
dc.subjectinheritanceen
dc.subjectvirtual method tableen
dc.subjectconstructoren
dc.subjectdestructoren
dc.subjectlate bindingen
dc.subjectLLVMen
dc.subjectAVGen
dc.titleZpětný překlad vysokoúrovňových konstrukcí jazyka C++cs
dc.title.alternativeDecompilation of High-Level Constructions in C++ Binariesen
dc.typeTextcs
dc.type.drivermasterThesisen
dc.type.evskpdiplomová prácecs
dcterms.dateAccepted2015-06-22cs
dcterms.modified2020-05-10-16:12:16cs
eprints.affiliatedInstitution.facultyFakulta informačních technologiícs
sync.item.dbid88807en
sync.item.dbtypeZPen
sync.item.insts2025.03.26 15:20:48en
sync.item.modts2025.01.15 21:15:11en
thesis.disciplineInformační systémycs
thesis.grantorVysoké učení technické v Brně. Fakulta informačních technologií. Ústav informačních systémůcs
thesis.levelInženýrskýcs
thesis.nameIng.cs
Files
Original bundle
Now showing 1 - 4 of 4
Loading...
Thumbnail Image
Name:
final-thesis.pdf
Size:
3.2 MB
Format:
Adobe Portable Document Format
Description:
final-thesis.pdf
Loading...
Thumbnail Image
Name:
Posudek-Vedouci prace-17893_v.pdf
Size:
86.52 KB
Format:
Adobe Portable Document Format
Description:
Posudek-Vedouci prace-17893_v.pdf
Loading...
Thumbnail Image
Name:
Posudek-Oponent prace-17893_o.pdf
Size:
89.22 KB
Format:
Adobe Portable Document Format
Description:
Posudek-Oponent prace-17893_o.pdf
Loading...
Thumbnail Image
Name:
review_88807.html
Size:
1.45 KB
Format:
Hypertext Markup Language
Description:
file review_88807.html
Collections