PhD. Theses

Year: Supervisor: 
Student:  Title: 

Retargetable Analysis of Machine Code

Student:Křoustek Jakub, Ing.
Supervisor:Kolář Dušan, doc. Dr. Ing.
Department:Department of Information Systems FIT BUT
machine code, code analysis, reverse engineering, decompiler, debugger, simulator, disassembler, scattered context grammars, Lissom, architecture description languages, ISAC, malware
Program analysis is a computer-science methodology whose task is to analyse the behavior of a given program. The methods of program analysis can also be used in other methodologies such as reverse engineering, re-engineering, code migration, etc. In this thesis, we focus on program analysis of a machine-code and we address the limitations of a nowadays approaches by proposing novel methods of a fast and accurate retargetable analysis (i.e. they are designed to be independent of a particular target platform). We focus on two types of analysis - dynamic analysis (i.e. run-time analysis) and static analysis (i.e. analysing application without its execution). The contribution of this thesis within the dynamic analysis lays in the extension and enhancement of existing methods and their implementation as a retargetable debugger and two types of a retargetable translated simulator. Within the static analysis, we present a concept and implementation of a retargetable decompiler that performs a program transformation from a machine code into a human-readable form of representation. All of these tools are based on several novel methods defined by the author. According to our experimental results and users feed-back, all of the proposed tools are at least fully competitive to existing solutions, while outperforming these solutions in several ways.
ISO 690 Citation
KŘOUSTEK, Jakub. Retargetable Analysis of Machine Code. Brno, 2015. Available from: PhD. Thesis. Brno University of Technology, Faculty of Information Technology. 2015-05-13. Supervisor Kolář Dušan.
    author = {Jakub K{\v{r}}oustek},
    title = {Retargetable Analysis of Machine Code},
    school = {Brno University of Technology,
		Faculty of Information Technology},
    year = {2015},
    location = {Brno, CZ},
    url = {}

Your IPv4 address:
Switch to IPv6 connection

DNSSEC [dnssec]