CFR vs rev.ng
CFR
benf.orgrev.ng
rev.ngSide by side
| Figure | CFR | rev.ng |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 4 |
| Spec score · Reverse Engineering Tools | 8.2 (#10) | 8.3 (#9) |
| Spec score · Decompiler Software | 8.3 (#5) | 8.2 (#7) |
| License | The maker’s FAQ directs users to the project README for its license; the project repository identifies the license as MIT. | The overall framework is GPLv2 because it depends on GPLv2 components such as QEMU, while individual files use MIT licensing. |
| Support | The maker invites users to email reports of problems and directs bug reports to the GitHub issue tracker. | The site points users to Discourse for questions, feedback, and problem reports, and also offers a Discord community and email contact. |
Plans
rev.ng
- Open sourceFree
- Public projectFree
- Private projectPriced on request
- StandalonePriced on request
In their own words
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.
rev.ng
rev.ng is a decompiler for reverse engineering that turns supported binaries into syntactically valid, standard-compliant C. Its data-structure recovery uses information across functions to identify linked lists, structs, arrays, and arrays of structs. The listed default architectures are x86, x86-64, ARM, AArch64, MIPS, and S390X; supported imports include ELF, PE/COFF, Mach-O, DWARF, PDB, and IDB. Users can define functions, edit prototypes, and rename items in YAML files, or interact through an HTTP API. The interface is described as available in a browser or standalone app, with cloud and standalone use offering the same experience. Collaborators can share a project URL; public projects include two collaborators. The rev.ng decompilation pipeline is Free Software, while the UI is intended for commercial cloud and standalone versions. The service is free and lists API, Linux, macOS, web, and Windows platforms. The site invites users to join a closed beta for the UI.