What is CFR?
CFR (Cava Forehead Recipes) is an open-source Java library and set of tools that allow you to view, edit, and analyze the bytecode of Java applications. It was created by Lee Benfield and is distributed under the MIT license.
CFR can take compiled Java class files and decompile them back into human-readable Java source code. This allows developers to understand, debug, optimize, and modify the logic of Java applications without access to the original source code.
Some key features and capabilities of CFR include:
- Accurate and lossless Java decompilation - CFR aims to perfectly regenerate valid Java source code from bytecode
- Handles complex and obfuscated bytecode
- Preserves original formatting, variable names, comments, etc. when possible
- Advanced control flow analysis algorithms
- IDE plugin available for seamless integration
- Modular architecture - can be extended and customized
- Command line and API access for automation
- Performs bytecode verification
- Supports latest Java versions and language features
CFR is commonly used for security auditing, malware analysis, tool integration, code understanding, and assisting with migration for legacy systems. It provides an essential view into compiled Java applications.
DotNet Resolver, dotPeek, .NET Reflector, Java Decompiler, Telerik JustDecompile, ILSpy, ShowMyCode, Java Class File Editor, Bytecode Viewer, Decompiler.com, MSIL Disassembler, JavaDecompilers.com, Cavaj Java Decompiler, Procyon are some alternatives to CFR.