Recaf is a modern Java bytecode editor that provides an accessible interface for editing compiled Java applications at the bytecode level.
The tool addresses the complexity of working directly with Java bytecode by abstracting away tedious details such as constant pool management, stack frame calculation, and instruction selection. It presents bytecode in both high-level and low-level views, allowing developers to edit code without manually handling these intricate aspects. The editor includes a built-in decompiler with multiple configurable options, a bytecode assembler with simplified syntax, and a compiler that can recompile decompiled classes even when some referenced classes are unavailable. It also handles malformed class files and jar archives that are designed to crash reverse engineering tools, automatically patching them on load.
Recaf suits developers working on reverse engineering, security analysis, or modification of Java and Android applications. The tool is particularly valuable for those dealing with obfuscated code, offering deobfuscation tools, automatic renaming of obfuscated members, and bytecode transformers for simplifying common obfuscation patterns. Its search capabilities span strings, numeric constants, class references, and instruction patterns. The project exposes most functionality through modular APIs, enabling automation via scripts or plugins for more complex workflows.
Development activity shows consistent engagement with the codebase through regular commits addressing both features and maintenance. The project maintains active communication channels with its user community and welcomes external contributions. Test coverage is tracked and monitored to maintain code quality. The tool receives ongoing updates that expand its capabilities and improve its handling of edge cases in Java bytecode manipulation.