{"id":10660,"url":"https://github.com/nforest/awesome-decompilation","name":"awesome-decompilation","description":"A curated list of awesome decompilation resources and projects.","projects_count":45,"last_synced_at":"2026-07-19T01:00:39.551Z","repository":{"id":40249643,"uuid":"129588860","full_name":"nforest/awesome-decompilation","owner":"nforest","description":"A curated list of awesome decompilation resources and projects.","archived":false,"fork":false,"pushed_at":"2023-11-09T12:48:36.000Z","size":31,"stargazers_count":660,"open_issues_count":3,"forks_count":54,"subscribers_count":45,"default_branch":"master","last_synced_at":"2026-06-13T06:04:55.296Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nforest.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-04-15T07:54:36.000Z","updated_at":"2026-06-02T20:52:36.000Z","dependencies_parsed_at":"2024-01-15T00:45:17.172Z","dependency_job_id":null,"html_url":"https://github.com/nforest/awesome-decompilation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nforest/awesome-decompilation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nforest%2Fawesome-decompilation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nforest%2Fawesome-decompilation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nforest%2Fawesome-decompilation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nforest%2Fawesome-decompilation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nforest","download_url":"https://codeload.github.com/nforest/awesome-decompilation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nforest%2Fawesome-decompilation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34967619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-30T02:00:05.919Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-01-12T20:23:26.298Z","updated_at":"2026-07-19T01:00:39.552Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["Advanced Topics","Compilers","Projects","General Overview","Program Analysis","Decompilation Pipeline","AI-based Decompilation"],"sub_categories":["Binary-Source Matching","General","Intermediate Representation","Type Reconstruction","Control-Flow Reconstruction","C++ Decompilation","Identifier Recovery","Search-Based Decompilation"],"readme":"# awesome-decompilation\n\nA curated list of awesome decompilation resources and projects.\n\n-----------------------------------------\n\n## Contents\n\n * [General Overview](#general-overview)\n * [Compilers](#compilers)\n * [Program Analysis](#program-analysis)\n * [Projects](#projects)\n * [Decompilation Pipeline](#decompilation-pipeline)\n   + [General](#general)\n   + [Intermediate Representation](#intermediate-representation)\n   + [Type Reconstruction](#type-reconstruction)\n   + [Control-Flow Reconstruction](#control-flow-reconstruction)\n   + [C++ Decompilation](#c-decompilation)\n   + [Identifier Recovery](#identifier-recovery)\n * [AI-based Decompilation](#ai-based-decompilation)\n * [Advanced Topics](#advanced-topics)\n   + [Search-Based Decompilation](#search-based-decompilation)\n   + [Binary-Source Matching](#binary-source-matching)\n\n-----------------------------------------\n\n## General Overview\n\n * [Reverse Compilation Techniques](http://www.phatcode.net/res/228/files/decompilation_thesis.pdf)\n\n * [Static Single Assignment for Decompilation](https://yurichev.com/mirrors/vanEmmerik_ssa.pdf)\n\n * [Retargetable Analysis of Machine Code](https://dspace.vutbr.cz/bitstream/handle/11012/63279/482.pdf)\n\n * [A Human-Centric Approach For Binary Code Decompilation](https://bonndoc.ulb.uni-bonn.de/xmlui/handle/20.500.11811/7517)\n\n## Compilers\n\n * [Compilers: Principles, Techniques, and Tools](https://www.amazon.com/dp/0321486811)\n\n * [Advanced Compiler Design and Implementation](https://www.amazon.com/dp/1558603204)\n\n## Program Analysis\n\n * [Principles of Program Analysis](http://www.imm.dtu.dk/~hrni/PPA/ppa.html)\n\n * [Data Flow Analysis: Theory and Practice](https://www.crcpress.com/Data-Flow-Analysis-Theory-and-Practice/Khedker-Sanyal-Sathe/p/book/9780849328800)\n\n## Projects\n\n * [Hex-Rays](https://www.hex-rays.com/products/decompiler/)\n\n * [Ghidra](https://github.com/NationalSecurityAgency/ghidra/tree/master/Ghidra/Features/Decompiler)\n\n * [JEB](https://www.pnfsoftware.com/)\n\n * [retdec](https://retdec.com/)\n\n * [rev.ng-c](https://rev.ng/revngc-features.html)\n\n * [jsdec](https://github.com/rizinorg/jsdec)\n\n## Decompilation Pipeline\n\n### General\n\n * [Decompilers and beyond](https://www.hex-rays.com/products/ida/support/ppt/decompilers_and_beyond_white_paper.pdf)\n\n * [decomp](https://github.com/decomp/decomp)\n\n### Intermediate Representation\n\n * [LLVM](https://llvm.org/docs/LangRef.html)\n\n * [VEX](https://github.com/angr/vex/blob/master/pub/libvex_ir.h)\n\n * [Hex-Rays microcode](http://hex-rays.com/products/ida/support/ppt/recon2018.ppt)\n\n * [BAP](https://github.com/BinaryAnalysisPlatform/bap)\n\n * [REIL](https://github.com/Cr4sh/openreil)\n\n * [ESIL](https://radare.gitbooks.io/radare2book/content/disassembling/esil.html)\n\n * [LLIL](https://docs.binary.ninja/dev/bnil-llil/index.html)\n \n * [VTIL](https://github.com/vtil-project)\n\n### Type Reconstruction\n\n * [DIVINE: DIscovering Variables IN Executables](https://research.cs.wisc.edu/wpis/papers/vmcai07.invited.pdf)\n\n * [Improved Memory-Access Analysis for x86 Executables](http://research.cs.wisc.edu/wpis/papers/cc04.pdf)\n \n * [TIE: Principled Reverse Engineering of Types in Binary Programs](https://users.ece.cmu.edu/~aavgerin/papers/tie-ndss-2011.pdf)\n\n * [Polymorphic Type Inference for Machine Code](https://arxiv.org/abs/1603.05495)\n\n### Control-Flow Reconstruction\n\n * [No More Gotos: Decompilation Using Pattern-Independent Control-Flow Structuring and Semantics-Preserving Transformations](http://www.ndss-symposium.org/ndss2015/ndss-2015-programme/no-more-gotos-decompilation-using-pattern-independent-control-flow-structuring-and-semantics/)\n\n * [Helping Johnny to Analyze Malware](https://www.computer.org/csdl/proceedings/sp/2016/0824/00/0824a158.pdf)\n\n * [A Comb for Decompiled C Code](https://dl.acm.org/doi/10.1145/3320269.3384766)\n\n### C++ Decompilation\n\n * [SmartDec: Approaching C++ Decompilation](https://www.computer.org/csdl/proceedings/wcre/2011/1948/00/06079860.pdf)\n\n### Identifier Recovery\n\n * [Meaningful Variable Names for Decompiled Code: A Machine Translation Approach](https://cmustrudel.github.io/papers/icpc18decompilation.pdf)\n\n * [Debin: Predicting Debug Information in Stripped Binaries](https://files.sri.inf.ethz.ch/website/papers/ccs18-debin.pdf)\n\n * [DIRE: Decompiled Identifier Renaming Engine](https://github.com/CMUSTRUDEL/DIRE)\n\n## AI-based Decompilation\n\n * [Using Recurrent Neural Networks for Decompilation](http://www.cs.unm.edu/~eschulte/data/katz-saner-2018-preprint.pdf)\n\n * [Towards Neural Decompilation (2019)](https://arxiv.org/pdf/1905.08325.pdf)\n \n * [Coda: An End-to-End Neural Program Decompiler](https://proceedings.neurips.cc/paper/2019/file/093b60fd0557804c8ba0cbf1453da22f-Paper.pdf)\n\n * [N-Bref: a neural-based decompiler framework](https://github.com/facebookresearch/nbref)\n\n * [Neutron: an attention-based neural decompiler](https://link.springer.com/content/pdf/10.1186/s42400-021-00070-0.pdf)\n\n * [Beyond the C: Retargetable Decompilation using Neural Machine Translation](https://arxiv.org/abs/2212.08950)\n\n## Advanced Topics\n\n### Search-Based Decompilation\n\n * [Evolving Exact Decompilation](https://www.cs.unm.edu/~eschulte/data/bed.pdf)\n\n### Binary-Source Matching\n\n * [BinPro: A Tool for Binary Source Code Provenance](https://arxiv.org/pdf/1711.00830)\n\n * [Neural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detection](https://arxiv.org/abs/1708.06525)\n\n * [CodeCMR: Cross-Modal Retrieval For Function-Level Binary Source Code Matching](https://keenlab.tencent.com/zh/whitepapers/neurips-2020-cameraready.pdf)\n\n\n\n\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/nforest%2Fawesome-decompilation/projects"}