National Repository of Grey Literature 18 records found  1 - 10next  jump to record: Search took 0.01 seconds. 
Analysis of C Code for Testing of Decompilation
Dítě, Viktor ; Kolář, Dušan (referee) ; Matula, Peter (advisor)
The goal of this thesis is to extend framework for creation of regression tests with new functionality for analysis of C code. This framework is created in Python language and uses clang compiler for analysis of source code. The thesis contains description of area of reverse engineering and decompiler developed in AVG company. Then the area of software testing and C language are briefly introduced. Following chapters describe proposed and implemented extensions. These extensions are presented in sample tests. Summary of the results can be found in conclusion.
System for Pattern Recognition in Binary Files
Milkovič, Marek ; Kolář, Dušan (referee) ; Matula, Peter (advisor)
Malicious software spreads really fast in the age of the Internet and it harms users and their data. Therefore, it is necessary to improve methods of how we deal with its analysis, so we can protect potential victims. This thesis deals with design and implementation of system for generating patterns out of executable files in cooperation with AVG Technologies. The goal of this work is to create a tool that generates a detection pattern from the set of binary files. This work further proposes new types of analyses for extraction of information out of executable files. Designed and implemented system is used in practice for analysis of new malicious code and it is integrated into the clustering system.
Generic Unpacker of Executable Files
Milkovič, Marek ; Hynek, Jiří (referee) ; Matula, Peter (advisor)
Executable files packing is a process used for compression or protection of these files. The behavior of the packed executable file is difficult to analyze, therefore the packed file needs to be unpacked at first. This work deals with the design and implementation of a generic unpacker that is part of the decompilation chain in the AVG's Retargetable Decompiler. The goal of this work is to create the generic unpacker of executable files, which would be easily extensible, platform and architecture independent, and its ouput would be decompilable. The heuristic analyses are proposed and implemented to achieve the decompilability of the ouput. The results are comparable with the other unpackers used in practice.
Binary-Code Decoding to a High-Level Representation
Macko, Lukáš ; Soukup, Ondřej (referee) ; Matula, Peter (advisor)
The thesis deals with reverse techniques in software engineering. It presents practical application of software reverse engineering, used tools and approaches. The topic of instruction decoding is discussed in detail. Two basic methods are presented-linear sweep and recursive descent. Their strengths and weaknesses are highlighted. Subsequently a decompiler developed by AVG Technologies is introduced. The decompiler is retargetable. This feature allows to decompile applications of multiple platforms into various target languages. The aim of  the thesis is to design and implement algorithm for  decoding binary files into high-level representation. The designed algorithm is based on modified recursive descent algorithm, which uses control flow information. In order to achieve more accurate decoding results, symbol table records and other additional information are used. The proposed algorithm was implemented for the AVG Technologies retargetable decompiler. The tests showed that the implemented algorithm improved the function detection in decoded programs. Furthermore, the implemented solution allows to decode files that could not be analysed using the previous version of the decompiler. 
LLVM IR Optimizations for Decompilation
Kollár, Jaroslav ; Chaloupka, Jan (referee) ; Matula, Peter (advisor)
This master's thesis describes the design and implementation of optimizations in the middle-end part of a retargetable decompiler developed by AVG Technologies. The purpose of these optimizations is to improve readability of the produced source code and improve existing optimizations in the back-end part. In the introduction, basic information about reverse engineering and decompilation is provided. Then, a description of state of the retargetable decompiler before this work is given. After that, the main part of this work is presented, which describes the design and implementation of the proposed optimizations. Then, the techniques that were used for testing are described. This description is followed by a summary of the achieved results. The present work is concluded by a discussion of possible future development.
Decompilation of High-Level Constructions in C++ Binaries
Jakub, Dušan ; Křivka, Zbyněk (referee) ; Matula, Peter (advisor)
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.
Translation of PHP Language Subset into C++
Nechutný, Stanislav ; Matula, Peter (referee) ; Křivka, Zbyněk (advisor)
My work is focused on design and execution of an automated translation for functions written in PHP into C++. Generated code may be compiled as a PHP extension and loaded the same way MySQL, PDO, GD or so. As a result these functions may be called from PHP as if they were the initial interpreted functions. Since there is no need for source code analysis, interpretation, nor staging by Garbage Collector general assumption would be a significant speed difference. Created tool executes source code transfer into abstract syntactic tree which is followed up by a static analysis of variable types and consequently generates C++ code. Final speed increase then depends on the particular code being translated and its practical use is slightly elaborate at the moment - owing to the implementation of PHP subset.
Decompilation from Selected Object File Formats
Bandzi, Michal ; Láznička, Stanislav (referee) ; Matula, Peter (advisor)
Object files contain machine code that can be executed by processor unit. Structure of an object file is defined by its file format. In order to decompile an object file, it is necessary to process and convert file data to internal representation of decompiler. This thesis discusses design and implementation of new modules for file format processing that will be part of the Retargetable Decompiler project. The goal of this work is to add support for Intel HEX and Mach-O file formats and new implementation of already supported Portable Executable file format. Implementation of modules for file formats Intel HEX and Mach-O was successful and it is possible to use them for reverse compilation. Processing of PE file format is not possible in sufficient quality due to errors in used LLVM library.
Design of Environment for Many-Core Systems Debugging
Klčo, Michal ; Matula, Peter (referee) ; Hynek, Jiří (advisor)
This thesis describe problem of debugging many-core systems using the integrated development environments. It presents some of the integrated environments, debuggers, their features and analyse them. This thesis also describe designs and implementation of modifications of these tools that helps user to debug many-core system more efficiently and comfortable.
C Language Source Files Similarity Detection
Rek, Petr ; Kučera, Jiří (referee) ; Matula, Peter (advisor)
This thesis deals with design, implementation and testing of the csim tool, which compares two C source files by their similarity. The primary purpose of this tool is testing of a decompiler developed by AVG Technologies s.r.o. Testing is based on comparing abstract syntax trees of the original and decompiled source files. The reader is introduced to the basics of reverse engineering, especially reverse engineering of a binary file into a high-level programming language source file. The process of compiling followed by decompiling of a file is described along with its effect on reverse engineering. The LLVM project and the Clang compiler is introduced to the reader, since its libraries are the foundation upon which the csim tool is built.

National Repository of Grey Literature : 18 records found   1 - 10next  jump to record:
See also: similar author names
1 Matula, Pa.
1 Matula, Pe.
4 Matula, Petr
Interested in being notified about new results for this query?
Subscribe to the RSS feed.