Skip to content
SPECIFICTION
Get listed

Boomerang vs CFR

Boomerang

github.com

CFR

benf.org

Side by side

FigureBoomerangCFR
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
API—Yes
Self-hosted—Yes
Plans published11
Spec score · Reverse Engineering Tools8.5 (#6)8.2 (#10)
Spec score · Decompiler Software8.6 (#4)8.3 (#5)
LicenseThe repository describes Boomerang as BSD licensed.The maker’s FAQ directs users to the project README for its license; the project repository identifies the license as MIT.
OutputThe GitHub project says Boomerang outputs C source code.The command-line tool can emit decompiled files to a specified output directory using --outputdir.
PurposeBoomerang is an open-source machine-code decompiler that attempts to turn executable files into high-level source code.CFR is a Java decompiler that converts Java class files back into Java source.
SupportThe README directs users to file bugs through the GitHub issue tracker.The maker invites users to email reports of problems and directs bug reports to the GitHub issue tracker.

Plans

Boomerang

  • Boomerang DecompilerFree

Boomerang pricing →

CFR

  • FreeFree

CFR pricing →

In their own words

Boomerang

Boomerang is an open-source decompiler that translates supported machine-code binaries into C source code. It supports x86 (IA-32 only), PPC, and ST20 architectures, and accepts ELF, PE, DOS MZ, DOS/4GW LE, and Mach-O files. Users can run it as a command-line tool or a GUI application. The project describes its license as BSD, and the software is free. Build instructions cover Linux, macOS, and Windows, but compiling requires a 64-bit operating system and a C++17 compiler; 32-bit systems are not supported. Documented prerequisites include CMake, Qt5, Capstone, GNU bison, and GNU flex. Precompiled packages are available for release versions, although the project recommends building the development branch from source. Unit and regression tests are provided, but the README says the regression test suite cannot be built on Windows. The maker describes the release as intended for developers and experimenters and warns that large-binary decompilation may disappoint. Decompiled output does not recreate the original source file and may differ from it. The project directs users to its GitHub issue tracker for bug reports.

Visit github.com

CFR

CFR is a free Java decompiler that reconstructs Java source from Java class files. It can process individual named classes, classes found on a classpath, or a whole JAR, and the command-line tool can place output in a chosen directory with the --outputdir option. Decompilation behavior can be adjusted through command-line options or an options file. The maker says CFR handles many features from Java 9, 12, and 14, and it can attempt class files from other JVM languages; those are rendered as Java rather than their original language. CFR is written in Java 6 and is said to run wherever Java 6 does. It is available as a downloadable JAR, through Maven, and from GitHub. The FAQ notes an API from version 0.135, and the project repository identifies the license as MIT. CFR handles bytecode rather than native code. Its maker also notes that some inputs fall into edge cases where output may be poor. There are no paid plans or usage limits stated.

Visit benf.org