Journal ArticleDOI
Decompilation of Binary Programs
Cristina Cifuentes,K. John Gough +1 more
TLDR
The structure of a decompiler is presented, along with a thorough description of the different modules that form part of a decomiler, and the type of analyses that are performed on the machine code to regenerate high‐level language code.Abstract:
The structure of a decompiler is presented, along with a thorough description of the different modules that form part of a decompiler, and the type of analyses that are performed on the machine code to regenerate high-level language code. The phases of the decompiler have been grouped into three main modules: front-end, universal decompiling machine, and back-end. The front-end is a machine dependent module that performs the loading, parsing and semantic analysis of the input program, as well as generating an intermediate representation of the program. The universal decompiling machine is a machine and language independent module that performs data and control flow analysis of the program based on the intermediate representation, and the program''s control flow graph. The back-end is a language dependent module that deals with the details of the target high-level language.read more
Citations
More filters
A Taxonomy of Obfuscating Transformations
TL;DR: It is argued that automatic code obfuscation is currently the most viable method for preventing reverse engineering and the design of a code obfuscator is described, a tool which converts a program into an equivalent one that is more diicult to understand and reverse engineer.
Proceedings ArticleDOI
Obfuscation of executable code to improve resistance to static disassembly
Cullen Linn,Saumya K. Debray +1 more
TL;DR: Experimental results indicate that significant portions of executables that have been obfuscated using the techniques described are disassembled incorrectly, thereby showing the efficacy of the methods.
Patent
Software self-defense systems and methods
James J. Horning,W. Olin Sibert,Robert E. Tarjan,Umesh Maheshwari,William G. Horne,Andrew K. Wright,Lesley R. Matheson,Susan S. Owicki +7 more
TL;DR: In this paper, the authors describe obfuscation, tamper-resistance, and watermarking techniques for protecting a computer program from unauthorized analysis and modification. But they do not discuss how to detect tampering.
Proceedings ArticleDOI
Manufacturing cheap, resilient, and stealthy opaque constructs
TL;DR: The design of a Java code obfuscator is described, a tool which - through the application of code transformations - converts a Java program into an equivalent one that is more difficult to reverse engineer.
Journal ArticleDOI
Let a Thousand Flowers Bloom? An Early Look at Large Numbers of Software 'Apps' Developers and Patterns of Innovation
Kevin Boudreau,Kevin Boudreau +1 more
TL;DR: Overall, adding large numbers of producers led innovation to become more dependent on population-level diversity, variation, and experimentation—while drawing less on the heroic efforts of any one individual innovator.
References
More filters
Book
The Theory of Parsing, Translation, and Compiling
Alfred V. Aho,Jeffrey D. Ullman +1 more
TL;DR: It is the hope that the algorithms and concepts presented in this book will survive the next generation of computers and programming languages, and that at least some of them will be applicable to fields other than compiler writing.
Book
Crafting a Compiler
TL;DR: Crafting a Compiler presents a practical approach to compiler construction with thorough coverage of the material and examples that clearly illustrate the concepts in the book.
Journal ArticleDOI
Rewriting executable files to measure program behavior
James R. Larus,Thomas Ball +1 more
TL;DR: This work states that adding instrumentation code after the compilation process—by rewriting the executable file—presents fewer complications and leads to more complete measurements.
Dissertation
Reverse compilation techniques
TL;DR: Techniques for writing reverse compilers or decompilers are presented in this thesis, based on compiler and optimization theory, and applied to decompilation in a unique way; these techniques have never before been published.