Analýza a převod kódů do vyššího programovacího jazyka

No Thumbnail Available
Date
ORCID
Mark
A
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
Práce popisuje metody a postupy používané k analýze a transformaci kódů. Obsahuje základní informace o vědním oboru reverzní inženýrství a jeho užití ve výpočetní technice i mimo ni. Hlavním cílem je vytvoření obecného zpětného překladače neboli dekompilátoru, tj. prostředku pro zpětný překlad z binární formy (případně jazyka symbolických instrukcí) do vyššího programovacího jazyka. Zmíněná činnost je silně závislá na konkrétní instrukční sadě a architektuře procesoru. Tento problém je řešen pomocí popisu sémantiky jednotlivých instrukcí jazykem navrženým pro tento účel. Výstupem je program napsaný ve vyšším programovacím jazyku, funkčně ekvivalentní vstupu. Program je tedy schopen pracovat s jakoukoliv instrukční sadou a kód v ní napsaný pak převést do zvoleného vyššího programovacího jazyku. Tento návrh je v praxi implementován jako součást projektu Lissom. Obecný dekompilátor je zcela nový pojem a pro jeho vytvoření byly autorem navrženy doposud nepublikované techniky z oblastí teorie překladačů a optimalizací.
This paper describes methods and procedures used for code analysis and transformation. It contains basic information of a science discipline called reverse engineering and its use in information technologies. The primary objective is a construction of a generic reverse compiler or decompiler, i.e. tool that can recompile from binary form (optionally from symbolic machine code) to a high level language. This operation is highly dependent on the concrete instruction set and processor architecture. This problem is solved with description of semantic of each instruction by a special language designed for this use. The output is the high level language code and is functionally equivalent to the input. The program is therefore able to work with each instruction set and code written by it can be transformed into the chosen high level language. This proposal is implemented in practice as a part of project Lissom. Generic decompiler is completely new idea. The thesis contains entirely new techniques from theory of compilers and optimizations made by the author.
Description
Citation
KŘOUSTEK, J. Analýza a převod kódů do vyššího programovacího jazyka [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. .
Document type
Document version
Date of access to the full text
Language of document
cs
Study field
Inteligentní systémy
Comittee
Date of acceptance
Defence
Result of defence
práce byla úspěšně obhájena
Document licence
Přístup k plnému textu prostřednictvím internetu byl licenční smlouvou omezen na dobu 5 roku/let
DOI
Collections
Citace PRO