CFR icon

CFR

CFR is an open-source Java library and set of tools that allow you to view, edit, and analyze the bytecode of Java applications. It can decompile Java bytecode back into Java source code for debugging and understanding purposes.

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.

The Best CFR Alternatives

Top Apps like CFR

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.

DotNet Resolver

DotNet Resolver is an open source dependency resolver and service locator for .NET. It helps organize references between objects and components in .NET applications for improved testability, maintainability, and dependability management.Some key features include:Support for constructor, property, and method call injectionAuto-wiring of registered dependencies into componentsHierarchical lifetime management...

DotPeek

dotPeek is a free .NET decompiler and assembly browser from JetBrains. It allows .NET developers to easily view and analyze the source code of .NET assemblies without needing access to the original source code.Some key features of dotPeek include:Decompilation - View C# and Visual Basic code from .NET...

.NET Reflector

.NET Reflector is a .NET decompilation tool originally created by Lutz Roeder. It enables developers to inspect, navigate, query, and analyze .NET managed code in Visual Studio, without the need for symbols or source code. Some key features of .NET Reflector include:Decompiling .NET assemblies into C# or Visual Basic...

Java Decompiler

A Java decompiler is a software tool that analyzes compiled Java class files and converts the bytecode back into high-level Java source code that can be read and modified by developers. Unlike disassemblers which output low-level assembly instructions, decompilers aim to produce valid Java code, complete with comments and variable...

Telerik JustDecompile

Telerik JustDecompile is a .NET decompiler software used for decompiling .NET assemblies and exploring their contents for debugging purposes. It allows developers to easily view, navigate and search through .NET assemblies by converting compiled code back into a visual, high-level code representation.Some of the key features of Telerik JustDecompile...

ILSpy

ILSpy is an open-source .NET decompiler and assembly browser. It allows developers to easily inspect, navigate, view docs for, and decompile the contents of .NET managed assemblies. Some key features of ILSpy include:Decompiling .NET assemblies into C# and other .NET languagesBrowsing types, methods, properties in a .NET assemblyViewing documentation...

ShowMyCode

ShowMyCode is a real-time web-based collaborative development environment and code hosting platform. It provides software developers and development teams the ability to collaborate on code in real-time with integrated text, voice, and HD video communication.Key features of ShowMyCode include:Real-time collaborative code editing - multiple developers can simultaneously edit...

Java Class File Editor

A Java class file editor is a specialized software program used for viewing, editing, and modifying Java bytecode and source code within compiled .class files. It gives Java developers a way to peer into .class files and make changes at a very low level.These types of editors allow developers...

Bytecode Viewer

Bytecode Viewer is an open-source Java bytecode viewer, disassembler, and debugger developed by Konloch. It enables developers to easily view, analyze, and debug compiled Java class files. Some key features of Bytecode Viewer include:Supports analyzing class files from Java versions 5 through 17Displays all classes, methods, fields including their signatures...

Decompiler.com

Decompiler.com is an online service that allows users to upload compiled executable files such as EXE, DLL, JAR, APK files and decompile them back into human-readable source code. It supports decompilation for many programming languages including C#, C++, Visual Basic, Java, Python, and more.One of the key benefits...

MSIL Disassembler

MSIL Disassembler is a reverse engineering tool used for analyzing applications built on the .NET Framework. It takes compiled .NET assemblies containing Microsoft Intermediate Language (MSIL) bytecode and converts them back into a high-level .NET programming language like C# or Visual Basic.This allows developers to study and understand the...

JavaDecompilers.com

JavaDecompilers.com is a free online platform that offers a curated directory of the top open source Java decompilers. Decompiling Java code converts compiled byte code back into a readable source code format so developers can better understand, analyze, debug, optimize, and reuse third party libraries and applications.The website...

Cavaj Java Decompiler

Cavaj Java Decompiler is an open-source, Java-based application that can decompile compiled Java class files (.class files) back into human-readable Java source code. It allows developers to study and understand the implementation details of third party Java code without having access to the original source.Some key features of Cavaj...

Procyon

Procyon is an open-source Java decompiler developed by Ststroika that aims to rebuild the original Java source code from compiled Java bytecode. It supports decompiling code from Java versions 5 through 15 and can decompile entire projects or individual .class files into human-readable and compilable Java code.Some key features of Procyon...