Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mahaloz/decompilation-wiki
The Decompilation Wiki: info on all things decompilation
https://github.com/mahaloz/decompilation-wiki
decompilation wiki
Last synced: about 2 months ago
JSON representation
The Decompilation Wiki: info on all things decompilation
- Host: GitHub
- URL: https://github.com/mahaloz/decompilation-wiki
- Owner: mahaloz
- License: bsd-2-clause
- Created: 2024-04-05T17:08:22.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-10-24T21:44:55.000Z (3 months ago)
- Last Synced: 2024-10-25T23:54:27.809Z (3 months ago)
- Topics: decompilation, wiki
- Homepage: https://decompilation.wiki
- Size: 1.36 MB
- Stars: 130
- Watchers: 7
- Forks: 6
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
- License: LICENSE
Awesome Lists containing this project
README
# The Decompilation Wiki
The Decompilation Wiki is a collection of categorized information on all things decompilation.
From real-world applications to cutting-edge research papers, the Decompilation Wiki has it all! Join our Discord below for active community engagement. To get involved, see our [contribution guide](/docs/contributing.md).
The Decompilation Wiki is still early in development, so any contribution is appreciated![![Discord](https://dcbadge.vercel.app/api/server/eVySXH7ZQ8)](https://discord.gg/eVySXH7ZQ8)
## What Is Decompilation?
Interestingly, the term "decompilation" and its definition are still argued about by researchers.
However, most people agree that decompilation is the reversal of compilation.
By that definition, **decompilation is the process of turning low-level machine code into a higher-level representation.**In many cases, this means turning machine code, like [x86 assembly](https://en.wikipedia.org/wiki/X86_assembly_language), into source code, like [C](https://en.wikipedia.org/wiki/C_(programming_language)).
This methodology can also be applied to languages like [Java](https://en.wikipedia.org/wiki/Java_(programming_language)), which create [bytecode](https://en.wikipedia.org/wiki/Java_bytecode).
The difficulty and accuracy of decompilation can vary per language target[^1].Decompilation has wide applications across cyber security, including:
- reverse engineering (the understanding of programs)
- vulnerability discovery (the understanding of program flaws)
- malware classification
- program repair
- [and much more...](/docs/applications/overview/)## Wiki Goals?
This wiki has two main goals:1. Making decompilation knowledge more accessible to new-comers in the field
2. Categorizing research and tooling to make future decompilation progress easierTo accomplish the first goal, it is highly encouraged to link public code when adding a technique.
Additionally, we will store tutorials for self-rolling (to a degree) your own decompiler components.To accomplish the second goal, we will attempt to rapidly categorize new research and tools in the area.
These categorizations may not be agreed upon at first, however, we will update them as the community hits consensus.
In this way, we can quickly attempt to taxonomize the area of decompilation while iterating on it.## Who Made This?
The Decompilation Wiki was started by [Zion Leonahenahe Basque](https://zionbasque.com), but is sustained by the contributions of the decompilation community. Both closed and open-source developers are welcome!The wiki is highly inspired by the following sources:
- [Program-Transformation.org](https://www.program-transformation.org/): a wiki on program transformations, including some decompilation.
- [CTF Wiki](https://ctf-wiki.org/): a wiki for Capture the Flag, inspiring this layout and design.
- ["30 Years into Scientific Binary Decompilation"](https://www.youtube.com/watch?v=XasallkPQIA), Dr. Ruoyu (Fish) Wang: a source of information on decompilers.Additionally, the wiki is due in large part to the support and advisement of Zion's PhD committee: [Dr. Ruoyu (Fish) Wang](https://ruoyuwang.me/), [Dr. Yan Shoshitaishvili](http://yancomm.net/), [Dr. Adam Doupé](https://adamdoupe.com/), and [Dr. Christina Cifuentes](https://labs.oracle.com/pls/apex/f?p=labs:bio:0:21).
[^1]: Yakdan, Khaled, et al. ["Helping johnny to analyze malware: A usability-optimized decompiler and malware analysis user study."](https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7546501&casa_token=Pl69lA763yoAAAAA:0rH6AIEbiBhbUGGaSvJvhaYeFEaWPnIifVHceQTGkd_k4NQK6EDH_zcytY-I-W6OE5oHbdU) 2016 IEEE Symposium on Security and Privacy (SP). IEEE, 2016.