fay59/fcd

An optimizing decompiler

C++

773

950 commits

updated Mar 29, 2021

See the code

README

fcd

Travis build status

Fcd is an LLVM-based native program optimizing decompiler, released under an LLVM-style license. It started as a bachelor's degree senior project and carries forward its initial development philosophy of getting results fast. As such, it was architectured to have low coupling between distinct decompilation phases and to be highly hackable.

Fcd uses a unique technique to reliably translate machine code to LLVM IR. Currently, it only supports x86_64. Disassembly uses Capstone. It implements pattern-independent structuring to provide a goto-free output.

Fcd allows you to write custom optimization passes to help solve odd jobs. It also accepts header files to discover function prototypes.

clang
decompiler
elf
llvm
mach-o
x86-64

fay59/fcd

An optimizing decompiler

C++

773

950 commits

updated Mar 29, 2021

See the code

README

fcd

Travis build status

Fcd is an LLVM-based native program optimizing decompiler, released under an LLVM-style license. It started as a bachelor's degree senior project and carries forward its initial development philosophy of getting results fast. As such, it was architectured to have low coupling between distinct decompilation phases and to be highly hackable.

Fcd uses a unique technique to reliably translate machine code to LLVM IR. Currently, it only supports x86_64. Disassembly uses Capstone. It implements pattern-independent structuring to provide a goto-free output.

Fcd allows you to write custom optimization passes to help solve odd jobs. It also accepts header files to discover function prototypes.

clang
decompiler
elf
llvm
mach-o
x86-64

Significant stargazers

Catherine

2,929 followers · starred Apr 2025

Andrew Kelley

10,663 followers · starred Feb 2017

Yan Shoshitaishvili

2,389 followers · starred Feb 2016

Tom Schuster

127 followers · starred Feb 2017