Dissertations / Theses on the topic 'Decompiler'
Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles
Consult the top 21 dissertations / theses for your research on the topic 'Decompiler.'
Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.
You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.
Browse dissertations / theses on a wide variety of disciplines and organise your bibliography correctly.
DAVIDSON, ANDREW JOSEPH. "SPADE: SEMANTICALLY PRESERVING ABSTRACT DECOMPILER EXPERIMENT." Thesis, The University of Arizona, 2008. http://hdl.handle.net/10150/190436.
Full textMiecznikowski, Jerome. "New algorithms for a java decompiler and their implementation in Soot." Thesis, McGill University, 2003. http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=79050.
Full textThe Java Virtual Machine Specification of valid bytecode is much less restrictive than the Java Language Specification of valid Java source programs. For example, bytecode has unstructured control flow, loose local typing, and few restrictions on method modifiers. By contrast, the Java language has highly structured control flow, strong local typing, and many restrictions on its method modifiers. The goal of this thesis was to build a tool that could correctly decompile the widest range of verifiable Java bytecode back into compilable Java source. This includes bytecode coming from other source languages, bytecode that has undergone certain types of obfuscation, and optimized bytecode. To accomplish this goal we created the Structure Encapsulation Tree data structure and a set of new decompiling algorithms.
The algorithms fall into three categories: regular control flow, exceptional control flow, and idioms.
Eriksson, David. "Designing an object-oriented decompiler : Decompilation support for Interactive Disassembler Pro." Thesis, Blekinge Tekniska Högskola, Institutionen för programvaruteknik och datavetenskap, 2002. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-5604.
Full textDekompilering, eller omvänd kompilering, tar ett datorprogram och omvandlar det till högnivåspråk som fungerar som den ursprungliga källkoden. Detta gör det lättare att förstå ett datorprogram när källkod inte finns tillgänglig. Det finns väldigt få verktyg för dekompilering tillgängliga idag. Den här rapporten beskriver design och implementation av Desquirr, en dekomplator-plugin för Interactive Disassembler Pro. Desquirr har en objekt-orienterad design och utför grundläggande dekompilering av program som kör på Intel x86-processorer.
Žamberský, Zdeněk. "Zpětný překladač jazyka Java." Master's thesis, Vysoké učení technické v Brně. Fakulta strojního inženýrství, 2015. http://www.nusl.cz/ntk/nusl-232034.
Full textKollár, Jaroslav. "Optimalizace LLVM IR pro účely zpětného překladu." Master's thesis, Vysoké učení technické v Brně. Fakulta informačních technologií, 2015. http://www.nusl.cz/ntk/nusl-264955.
Full textMacko, Lukáš. "Dekódování binárního kódu do vyšší formy reprezentace." Master's thesis, Vysoké učení technické v Brně. Fakulta informačních technologií, 2015. http://www.nusl.cz/ntk/nusl-264983.
Full textkalle, Sushma. "Semantic-aware Stealthy Control Logic Infection Attack." ScholarWorks@UNO, 2018. https://scholarworks.uno.edu/td/2512.
Full textMatula, Peter. "Rekonstrukce datových typů při zpětném překladu kódu." Master's thesis, Vysoké učení technické v Brně. Fakulta informačních technologií, 2013. http://www.nusl.cz/ntk/nusl-236191.
Full textIlsoo, Jeon. "LLVM-IR based Decompilation." Wright State University / OhioLINK, 2019. http://rave.ohiolink.edu/etdc/view?acc_num=wright1559500021466716.
Full textKřoustek, Jakub. "Analýza a převod kódů do vyššího programovacího jazyka." Master's thesis, Vysoké učení technické v Brně. Fakulta informačních technologií, 2009. http://www.nusl.cz/ntk/nusl-236651.
Full textNaeem, Nomair A. "Programmer-friendly decompiled Java." Thesis, McGill University, 2006. http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=101644.
Full textThe work presented can be broken into three major categories: transformations using tree traversals and pattern matching to simplify the control flow, the creation of a flow analysis framework for an Abstract Syntax Tree (AST) representation of Java source code and the implementation of flow analyses with their use in complicated transformations.
The pattern matching transformations rewrite the ASTs to semantically-equivalent ASTs that correspond to code that is easier for programmers to understand. The targeted Java constructs include If and If-Else aggregation, for-loop creation and the removal of abrupt control flow. Pattern matching using tree traversals has its limitations. Thus, we introduce a new structure-based data flow analysis framework that can be used to gather information required by more complex transformations. Popular compiler analyses e.g., reaching definitions, constant propagation etc. were implemented using the framework. Information from these analyses is then leveraged to perform more advanced AST transformations.
We performed experiments comparing different decompiler outputs for different sources of bytecode. The results from these experiments indicate that the new Dava back-end considerably improves code comprehensibility and readability.
Eklind, Robin. "Compositional Decompilation using LLVM IR." Thesis, Uppsala universitet, Institutionen för informationsteknologi, 2015. http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-279307.
Full textBSc dissertation written during an ERASMUS exchange from Uppsala University to the University of Portsmouth.
Končický, Jaromír. "Využití dynamické analýzy kódu při zpětném překladu." Master's thesis, Vysoké učení technické v Brně. Fakulta informačních technologií, 2014. http://www.nusl.cz/ntk/nusl-236118.
Full textKábele, Břetislav. "Metody detekce funkcí při zpětném překladu kódu." Master's thesis, Vysoké učení technické v Brně. Fakulta informačních technologií, 2012. http://www.nusl.cz/ntk/nusl-236601.
Full textKřoustek, Jakub. "Rekonfigurovatelná analýza strojového kódu." Doctoral thesis, Vysoké učení technické v Brně. Fakulta informačních technologií, 2015. http://www.nusl.cz/ntk/nusl-261276.
Full textHsieh, Wei-Yu, and 謝韋佑. "Android’s Dex Decompiler: Type Inference Part." Thesis, 2011. http://ndltd.ncl.edu.tw/handle/61637654605397700984.
Full text國立臺灣大學
資訊工程學研究所
99
Currently, Android applications are mainly written in Java language. After using javac to compile these Java source files into Java class files, we use Android dx compiler to convert these Java class files to dex files furthermore. Dex file is a kind of register-based instruction set and optimized for mobile devices. At present, the binary transformations for dex are not rich, but the binary transformation for Java are developed for many years. Therefore, our main target is joining dex file to Java binary transformations. Dx compiler would not write local variable type information into dex file in codegen step. If we want to join dex file to Java binary transformation family, the main problem is that we need to infer the local variable type. Furthermore, Android system takes a lazy attitude about type. It causes type inference in dex more difficult. In this thesis, we provide and implement a type inferencer which can read dex file, transform it to the intermediate representation, and infer the local variable type. We also successfully decompile program from dex file format to the java file format by our experimentation.
Wang, Chin-Chih, and 王勁智. "Android’s Dex Decompiler : Control Structure Part." Thesis, 2011. http://ndltd.ncl.edu.tw/handle/59675108660166331292.
Full text國立臺灣大學
資訊工程學研究所
99
Because Android is more and more popular, users will have different optimization request about Android applications in the near future. They also have to transform the file into different format, such as transforming Android dex file to Java source file. However, the resources of binary transformations and optimization frameworks for Java source and Java class file are much more fruitful than those for Android dex file. In this thesis, we want to create a binary transformation path from Android dex file to Java source and Java class file. Our goal is to develop a Dex-to-Java decompiler. This thesis will focus on control structure creation. We adopt the goto-elimination algorithm of a Class-to-Java decompiler. And then, according to Android dex property, we modify the algorithm in order to remove goto instructions and construct corresponding control structures. Finally, we can write down the Java source file according to these control structures.
Ching-Chung, Hsi, and 徐慶鐘. "Design and Implementation of a Decompiler." Thesis, 1994. http://ndltd.ncl.edu.tw/handle/64185303402082949154.
Full text淡江大學
資訊管理研究所
82
Decompilation, the reverse process of compiling, is the process to translate automatically a low-level program into an equivalent high-level program. The technique can translating unstructed programs into structured programs. It is also helpful in software quality evaluation and in anti-imitation. In this thesis, we precisely define the "flow graph" -- the data structure representing the flow of control , and the syntax diagram -- the data structure representing the program syntax. The complex process of decompilation is analyzed and outlined into four translation phases. A program in machine language is translated firstly through "input translation" into a flow graph. And it is gradually translated through "control-flow translation" and "data-flow translation" into a syntax diagram. At last, it is translated through "output translation" into a high-level program. We invoke the technique of natural loops in compiler theory to identify all the loops in a flow graph. Furthermore, we present a refinement in the treatment of common headers. The algorithm of control-flow translation is presented, and all the primary translating subroutines are precisely discussed. A prototype of a decompiler based on the above scheme has been implemented in C language. Due to the complexity of the project, the phase of data-flow translation is temporarily eliminated as a future work. After testing , it is proved that our system is execllent in both functionality and efficency.
Hu, Chih-Ching, and 胡志慶. "Design and Implementation of a Java Decompiler." Thesis, 2005. http://ndltd.ncl.edu.tw/handle/32462783469749202463.
Full text淡江大學
資訊管理學系碩士班
93
The decompilation is transforming a low-level language into an equivalent high-level language. This research aims to extracts the control-flow from decompiling the specific Java class file, and then identifies its loops and the selection structure. Finally, we use the instruction reorganization technology to archive the high-level structured program. This thesis plans a framework of decompilation and divides the entire transformation procedure to five steps: (1) translates into the Class Structure from a Java class file via “input translation", (2) translates into the Java Assembly(JASM) instruction via "disassembly", (3) transforms the flow graph which is composed by the Java Assembly(JASM) instruction by processing through "flow graph construction", (4) translates into a low-level syntax diagram via "control-flow translation", and (5) translates through "instruction reorganization" into a high-level syntax diagram and then outputs the high-level structured program.
Chang, Kai-Fu, and 張凱富. "Possible Improvements In Java Decompiler Through Redesigning." Thesis, 2017. http://ndltd.ncl.edu.tw/handle/287c9j.
Full text國立臺灣大學
資訊工程學研究所
105
The ultimate goal of our research is to manage to decompile .class files into Java source code files. However, the current state-of-the-art decompilation technology cannot fully accomplish this goal for several reasons. At the time of publication of this article, most of the current available decompilers either produced exceptions during decompilation or failed to decompile Jave bytecodes to logically equivalent Java source code. The others just resulted in dumping assembly-like code to terminate decompilation. Hence, in order to reach the ultimate goal, we conducted the reverse-engineering on the ”Procyon” decompilation frameworks which we considered the best decompilation tool by far. In our research, we have analyzed the designs of Procyon frameworks by identifying the underlying design patterns, reconstructed the requirements by the designs, and finally proposed our redesign as the results of our research that we think is an improvement. Our redesign mainly improves time efficiency and reduces memory footprints. In the future, we will implement our design to complete Procyon frameworks and hope that we will fix most existing bugs to achieve a breakthrough of successfully building a decompiler that delivers.
Mráček, Jakub. "Dekompilátor pro Objective-C." Master's thesis, 2016. http://www.nusl.cz/ntk/nusl-352766.
Full text