Optimalizace výsledků zpětného překladu pomocí dodatečných informací
Enhancement of Decompilation Results
View/ Open
Author
Advisor
Křoustek, JakubReferee
Ďurfina, LukášGrade
AAltmetrics
Metadata
Show full item recordAbstract
V rámci projektu Lissom je vyvíjen rekonfigurovatelný zpětný překladač, jehož cílem je umožnit zpětný překlad programů, určených pro libovolnou platformu, do libovolného vyššího programovacího jazyka. V době počátku řešení této práce nejsou jeho výsledky ideální, neboť v něm, mimo jiné, nejsou implementovány techniky využívající dodatečné informace o programu. V rámci této práce je popsáno zpětné inženýrství a zpětný překladač projektu Lissom. Jsou zde navrženy techniky využití dodatečných informací ke zlepšení a optimalizaci jeho výsledků, konkrétně se jedná o analýzu datových sekcí a získávání ladicích informací z formátu PDB. Součástí práce je zkoumání struktury a obsahu formátu PDB. Implementace analýzy datových sekcí a použití ladicích informací je zde dále popsána a na závěr jsou zhodnoceny výsledky zpětného překladu při využití těchto technik. As a part of the Lissom project, a retargetable decompiler is being developed. Its main purpose is to decompile programs for any particular microprocessor architecture into any high-level programming language. At this thesis's beginning time, its results are not optimal because the decompiler doesn't utilize all program's additional information during decompilation that can improve the results. In this thesis, reverse engineering and Lissom decompiler is described. Techniques of using additional information to enhance decompilation results are proposed. These are data section content analysis and debug information analysis (specifically the debug information in PDB format which is proprietary format). Exploration of internal PDB structure and its content is a part of this thesis. The implementation of data section analysis and debug information utilizing is described and in the end, final decompilation results are discussed.
Keywords
Reverzní inženýrství, zpětný překlad, dekompilátor, disassembler, debugger, Lissom, datová sekce, ladicí informace, Program Database (PDB), Reverse engineering, recompilation, decompiler, disassembler, debugger, Lissom, data section, debug information, Program Database (PDB)Language
čeština (Czech)Study brunch
Informační technologieComposition of Committee
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)Date of defence
2012-06-13Process of defence
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 A. Otázky u obhajoby: Dokážete odhadnúť reálnosť rozpoznania iných ako zakladných datových typov z datových sekcií (napr. polí alebo štruktúr)?Result of the defence
práce byla úspěšně obhájenaPersistent identifier
http://hdl.handle.net/11012/55101http://hdl.handle.net/11012/205161
Source
KONČICKÝ, J. Optimalizace výsledků zpětného překladu pomocí dodatečných informací [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2012.Collections
- 2012 [306]