CFR

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.
CFR image
java bytecode decompiler open-source

CFR: Open-Source Java Library for Bytecode Analysis

A comprehensive toolset for viewing, editing, and analyzing Java bytecode, including decompilation of 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.

CFR Features

Features

  1. Decompiles bytecode back to Java source code
  2. Allows editing and analysis of bytecode
  3. Provides a Java API for working with bytecode programmatically
  4. Supports debugging and understanding Java applications
  5. Performs control flow analysis
  6. Works with Java 8 and below

Pricing

  • Open Source

Pros

Helps understand obfuscated or unfamiliar code

Enables low-level analysis and modification of bytecode

Free and open source

Active community support

Cons

Limited support for newer Java versions

Decompilation not perfect, may require manual fixes

Steep learning curve


The Best CFR Alternatives

Top Development and Debugging & Reverse Engineering and other similar apps like CFR


DotNet Resolver icon

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 of transient,...
DotPeek icon

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 assemblies. Supports...
DotPeek image
.NET Reflector icon

.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 code...
.NET Reflector image
Java Decompiler icon

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...
Java Decompiler image
Telerik JustDecompile icon

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 include:Decompiling...
Telerik JustDecompile image
ILSpy icon

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 comments...
ILSpy image
ShowMyCode icon

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 the same...
ShowMyCode image
Java Class File Editor icon

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 to...
Java Class File Editor image
Bytecode Viewer icon

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,...
Bytecode Viewer image
Decompiler.com icon

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 of Decompiler.com...
Decompiler.com image
MSIL Disassembler icon

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 source...
MSIL Disassembler image
JavaDecompilers.com icon

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 provides an...
JavaDecompilers.com image
Cavaj Java Decompiler icon

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 Java...
Cavaj Java Decompiler image
Procyon icon

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 image