CFR vs Qiling Framework
CFR
benf.orgQiling Framework
qiling.ioSide by side
| Figure | CFR | Qiling Framework |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Reverse Engineering Tools | 8.2 (#10) | 8.3 (#8) |
| API | The FAQ states that CFR has an API as of version 0.135. | Its API provides access to registers, memory, filesystems, operating systems, debugging, and saving or restoring execution state. |
| Known limitation | The maker says CFR has edge cases and may produce poor results for some inputs. | The FAQ says a binary may require a syscall or OS API that is not implemented, in which case users may need to implement it. |
| License | The maker’s FAQ directs users to the project README for its license; the project repository identifies the license as MIT. | The project is free software under GPL version 2 or, at the user's option, a later version. |
| Purpose | CFR is a Java decompiler that converts Java class files back into Java source. | Qiling combines binary emulation and instrumentation for reverse engineering and security analysis. |
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.
Qiling Framework
Qiling Framework is free software for emulating and instrumenting binaries for reverse engineering and security analysis. It runs machine code in an isolated environment and supports debugging across architectures and platforms. Listed architectures include x86, x86_64, ARM, ARM64, MIPS, and 8086; supported formats include PE, Mach-O, ELF, and COM. Hooks can observe instructions, basic blocks, memory access, exceptions, system calls, and I/O. APIs provide access to registers, memory, filesystems, operating systems, debugging, and execution-state saving and restoration. Qiling can also hot patch running code, including loaded libraries. Its IDA Pro plugin can emulate binaries in IDA, display live context, run scripts, save and load snapshots, and deobfuscate code. Qiling uses Unicorn for CPU emulation and adds operating-system awareness, executable loading, dynamic linking, and syscall and I/O handling. Installation options include pip, source, and Docker. It is licensed under GPL version 2 or a later version at the user's option. Some syscalls or operating-system APIs may not be implemented, and users may need to implement or map them.