Thesis Details
Zpětný překlad vysokoúrovňových konstrukcí jazyka C++
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.
Reverse engineering, decompilation, machine code, assembler, C++, object-oriented language, class, inheritance, virtual method table, constructor, destructor, late binding, LLVM, AVG
Brada Přemysl, doc. Ing., MSc. Ph.D. (WBU in Pilsen), člen
Květoňová Šárka, Ing., Ph.D. (DIFS FIT BUT), člen
Rogalewicz Adam, doc. Mgr., Ph.D. (DITS FIT BUT), člen
Švéda Miroslav, prof. Ing., CSc. (DIFS FIT BUT), člen
Zendulka Jaroslav, doc. Ing., CSc. (DIFS FIT BUT), člen
@mastersthesis{FITMT17893, author = "Du\v{s}an Jakub", type = "Master's thesis", title = "Zp\v{e}tn\'{y} p\v{r}eklad vysoko\'{u}rov\v{n}ov\'{y}ch konstrukc\'{i} jazyka C++", school = "Brno University of Technology, Faculty of Information Technology", year = 2015, location = "Brno, CZ", language = "czech", url = "https://www.fit.vut.cz/study/thesis/17893/" }