decomp / decomp Goto Github PK
View Code? Open in Web Editor NEWComponents of a decompilation pipeline.
License: The Unlicense
Components of a decompilation pipeline.
License: The Unlicense
Prerequisite for issue #17.
Prerequisite for issue #22.
The artifact will only operate on later stages of the decompilation pipeline. Give a brief introduction of this phase to give a complete overview.
Depends on issue #76.
The artifact will only operate on later stages of the decompilation pipeline. Give a brief introduction of this phase to give a complete overview.
Depends on issue #76.
Prerequisite for issue #17.
The current report structure is being tracked by issue #3.
Depends on issue #82.
Prerequisite for issue #35.
Depends on issue #76.
Depends on issue #76.
Prerequisite for #49.
Prerequisite for issue #35.
Prerequisite for issue #17.
The artifact will only operate on later stages of the decompilation pipeline. Give a brief introduction of this phase to give a complete overview.
Depends on issue #76.
S. Moll, Decompilation of LLVM IR. BSc thesis, Saarland University, 2011.
The component will identify high-level control structures using control flow analysis of LLVM IR. Through pattern matching the properties of high-level control structures would be identified in a Control Flow Graph of the LLVM IR.
TODO: Split the task into sub-tasks and allocate time to them.
The following theses, papers, and online references will be included in the literature review:
The following theses, papers, and online references have been marked as future ambitions:
Use the Clang compiler to produce test cases, as it is capable of emitting LLVM IR from C source code. The goal will be to reconstruct the high-level control flow structures (such as for-loops, if-else statements, etc) of the original C code from the LLVM IR.
Investigate which Continuous Integration services to use for:
Brainstorm about additional decompilation steps. Identify structural patterns in the low-level IR which conveys information about the high-level semantics.
Depends on issue #76.
Develop libraries for interacting with LLVM IR; in each of its three forms. These components will be fundamental for the project as all decompilation phases build upon its Intermediate Representation. Therefore the data structure of the LLVM IR has to be chosen with careful consideration. Research idiomatic data structures and experiment until it feels just right.
Depends on issue #80.
Depends on issue #78.
Depends on issue #81.
Depends on issue #83.
The artifact will only operate on later stages of the decompilation pipeline. Give a brief introduction of this phase to give a complete overview.
Depends on issue #76.
The tools will be reusable by other programming language environments as their input and output is specified by a formally defined IR.
Prerequisite for issue #35.
Search for relevant literature related to decompilation, and its key concepts and algorithms. Add located resources to issue #2.
Prerequisite for issue #22.
Design a decompilation system composed of individual components and based on the principle of separation of concerns. The system must be language-agnostic so that decompilation passes can be reused from other programming language environments.
Attempt to find flaws in the design by stress testing it through proof of concept implementations.
Engage in discussions with the open source community during the design process of any library intended for third party use; specifically the LLVM IR libraries.
Prerequisite for issue #22.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.