CFR vs Frida
CFR
benf.orgFrida
frida.reSide by side
| Figure | CFR | Frida |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | — | Yes |
| Android | — | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Reverse Engineering Tools | 8.2 (#10) | 8.7 (#4) |
| Support | The maker invites users to email reports of problems and directs bug reports to the GitHub issue tracker. | Frida’s contact page lists a Telegram group and the #frida IRC channel for contacting the community. |
Plans
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.
Frida
Frida is a dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers. It lets users place scripts in running processes to hook functions, inspect APIs, and trace application code without source code. Documented uses include API tracing, diagnostics, encrypted-protocol analysis, and black-box testing.
Frida supports injected, embedded, and preloaded instrumentation. When injection is unavailable, Frida Gadget can be embedded in a program, including on jailed iOS and Android systems. Supported targets include Windows, macOS, GNU/Linux, iOS, watchOS, tvOS, Android, FreeBSD, and QNX. Language bindings include Node.js, Python, Swift, .NET, Qt/Qml, and Go, alongside a C API. The CLI tools require Python and run on Windows, macOS, or GNU/Linux; the documented installation command is `pip install frida-tools`.