Boomerang vs CFR
Boomerang
github.comCFR
benf.orgSide by side
| Figure | Boomerang | CFR |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Reverse Engineering Tools | 8.5 (#6) | 8.2 (#10) |
| Spec score · Decompiler Software | 8.6 (#4) | 8.3 (#5) |
| License | The 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. |
| Output | The GitHub project says Boomerang outputs C source code. | The command-line tool can emit decompiled files to a specified output directory using --outputdir. |
| Purpose | Boomerang 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. |
| Support | The 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
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.
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.