CFR vs ImHex
CFR
benf.orgImHex
imhex.werwolv.netSide by side
| Figure | CFR | ImHex |
|---|---|---|
| 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.2 (#10) | 7.6 (#28) |
| License | The maker’s FAQ directs users to the project README for its license; the project repository identifies the license as MIT. | Most of ImHex is GPLv2-only; libimhex and the UI plugin library are LGPLv2.1. |
| Purpose | CFR is a Java decompiler that converts Java class files back into Java source. | ImHex is a hex editor for reverse engineers and programmers. |
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.
ImHex
ImHex is a hex editor for reverse engineers and programmers, available for Linux, macOS, and Windows. Its Pattern Language uses C-like syntax to describe structures and data types, which ImHex can use to parse and highlight file contents. The hex view supports searching, byte patching, patch management, and undo and redo. Analysis features include data inspection, file type parsing, byte type and entropy graphs, and detection of encrypted or compressed files. A YARA view scans files with rules, highlights matches, and lets users jump to them. The in-app Content Store offers community patterns, libraries, processor nodes, encodings, themes, and YARA rules; developers can also build plugins with libimhex, the API, and Content Registry. ImHex is free. Most of the application is GPLv2-only, while libimhex and the UI plugin library are LGPLv2.1. It generally requires a GPU with OpenGL 3.0 support; slower software-rendered releases are available. macOS release binaries require macOS 15 or higher.