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: 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
Decompiles bytecode back to Java source code
Allows editing and analysis of bytecode
Provides a Java API for working with bytecode programmatically
Supports debugging and understanding Java applications
Performs control flow analysis
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
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 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...
.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...
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 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...
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...
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...
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...
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 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...
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...
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...
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...
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...