National Repository of Grey Literature 28 records found  beginprevious19 - 28  jump to record: Search took 0.00 seconds. 
Code Analysis and Transformation
Křoustek, Jakub ; Masařík, Karel (referee) ; Meduna, Alexandr (advisor)
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 tool that can disassemble from binary form to symbolic machine code. This operation is highly dependent on the concrete instruction set, and it has to be used for a beforehand known processor architecture. This problem is solved with patterns, plug-ins, and modularity of disassembler. These features provide users the ability to add new instruction sets into this disassembler. The output is the text representation of instructions and is functionally equivalent to the in-put. The thesis demonstrates usual methods of disassembly as well as the methods made by the author.
C Back-End for a Decompiler
Urban, Martin ; Ďurfina, Lukáš (referee) ; Zemek, Petr (advisor)
This thesis deals with the implementation of the back-end of the decompiler, which produces a code in C language. It contains basic information about the principals and using of the reverse engineering either in the area of information technology or apart from it. The main goal is to create the back-end of the decompiler which would generate a code that would be equivalent against the input and will be translatable into a binary code. Functionality of the output code will be conserved in state of the functionality of the source code. The output is the implementation of the classes in C++ language. It does described activity as a part of the general decompiler which is developed in terms of the project Lissom.
Enhancement of Decompilation Results
Končický, Jaromír ; Ďurfina, Lukáš (referee) ; Křoustek, Jakub (advisor)
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.
Optimizations in the Decompiler's Back-End
Kollár, Jaroslav ; Ďurfina, Lukáš (referee) ; Zemek, Petr (advisor)
This bachelor's thesis describes the design and implementation of optimizations in the retargetable decompiler's back-end. The purpose of these optimizations is to improve readability of the produced source code. In the introduction, basic information about reverse engineering and decompilation is provided. Then, there is an analysis of the source code produced by the decompiler to familiarize the reader with the proposed optimizations. After that, there is the main part of this work, which describes the design and implementation of the proposed optimizations. It is followed by mentioning the techniques that were used for testing. The present work is concluded by a summary of the achieved results and their benefits.
Code Analysis and Transformation To a High-Level Language
Křoustek, Jakub ; Masařík, Karel (referee) ; Meduna, Alexandr (advisor)
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.
Generic Decompilation of Bytecode into High-Level Representation
Mrázek, Petr ; Zemek, Petr (referee) ; Křoustek, Jakub (advisor)
The work describes methods and principles of decompilation, basic information about reverse engineering and its use in both software engineering and engineering in general. Furthermore, it introduces the decompiler developed within the Lissom project at BUT FIT. The goal of the work is to design and implement a retargetable decompiler for bytecode, which extends the original decompiler.
Enhancement of Decompilation by Using Dynamic Code Analysis
Končický, Jaromír ; Zemek, Petr (referee) ; Ďurfina, Lukáš (advisor)
As a part of the Lissom project, a retargetable decompiler is being developed. Its main purpose is to decompile programs for a particular microprocessor architecture into a high-level programming language. In present, methods of dynamic code analysis are not used during decompilation. However, we can significantly improve the decompilation results by using these methods. Design of dynamic-analysis methods is the main task of this thesis. In this thesis, reverse engineering and Lissom decompiler are described. Furthermore, general dynamic analysis methods, such as instrumentation and emulation, are described. The information we can obtain by using dynamic analysis and its usage during decompilation is proposed.
Code Structuring in Decompiler Back-End
Hrbek, David ; Matula, Peter (referee) ; Zemek, Petr (advisor)
The goal of this thesis was to design and implement an algorithm for code structuring in Lissom decompiler's back-end. This algorithm eliminates indirect jumps (branch/goto) from low-level code with a use of high-level constructs, such as conditional statements (if, switch) and loops (for, while). This thesis contains an introduction into the topic of decompilation, some information about the Lissom project's decompiler, a proposal of the structuring algorithm, details of its implementation, testsuite description and results summary.
Java Bytecode Disassembler
Hřibal, Jaromír ; Kučera, Jiří (referee) ; Křivka, Zbyněk (advisor)
The first part of this thesis studies the fundamental principles of Java Virtual Machine and presents in depth look at its instruction set and . class file format, both together well known as bytecode . The next part presents an overview of the existing tools for bytecode manipulation . The last part of this work describes the development of a new plugin for Eclipse IDE . This plugin allows the user to get more comfortable view of the given bytecode and to see the original source code from which the bytecode was generated . The plugin requires the source code to be accessible so it is not a typical decompilation tool .
Reverse engineering of platforms Java and Android
Žák, Josef ; Pecinovský, Rudolf (advisor) ; Oraný, Vladimír (referee)
This thesis deals with reverse engineering of Android and Java. It contains a description of existing tools and techniques, including techniques of defense. The first part is focused on available research about the topic. The next part discusses usage of reverse engineering in software development. The next chapters describe Android operating system and concept of a virtual machine on both platforms. Both kinds of architectures are compared (register-based vs stack-based machine). Core of the work is focused on static analysis (content of APK file, disassembling, decompilation). Available decompilers of class and dex files are compared. Testing is made with various versions of Java. The final chapter contains techniques and tools of defense against reverse engineering including a description of pros and cons. Two popular obfuscators are tested (Proguard, DashO).

National Repository of Grey Literature : 28 records found   beginprevious19 - 28  jump to record:
Interested in being notified about new results for this query?
Subscribe to the RSS feed.