Repolode
Col-E

Col-E/Recaf

一款基于 IDE 风格界面的 Java 与 Android 字节码编辑器,可反编译、修改、反混淆并导出已编译程序。

Star
7,456
Fork
546
未关闭 Issue
61
最近提交
5天前

这是什么?

Recaf 是一款用于编辑已编译 Java 和 Android 应用的字节码编辑器。无需原始源码,即可打开 JAR 文件,通过类似 IDE 的界面浏览类结构,并在反编译源码或字节码汇编两个层面进行修改,最后导出改动后的程序。

反编译视图支持 CFR、Procyon 和 Fernflower 等多种反编译器,搜索功能覆盖字符串、常量、类引用、方法以及字节码指令模式。针对混淆代码,Recaf 提供字节码转换器(处理不透明常量和谓词等),支持基于模式的批量重命名,并可将映射导出给其他工具使用。

项目提供脚本 API 和无界面的 CLI 模式,便于自动化分析流程。可通过 Gradle 构建,也可直接在 IDE 中打开。

核心功能

  • 01支持 CFR、Procyon、Fernflower 多种反编译器,可直接编辑反编译出的 Java 源码。
  • 02提供字节码汇编器,支持变量名显示、语法即时提示和控制流可视化。
  • 03可搜索字符串、常量、类引用、方法及指令模式。
  • 04通过字节码转换器和基于模式的重命名对混淆程序进行反混淆。
  • 05支持通过命令行运行脚本,实现分析流程自动化。

适用场景

  • 在没有源码的情况下查看和分析 Java 或 Android 应用。
  • 为 JAR 中缺失的依赖生成骨架代码,以便编译和修改。
  • 分析并反混淆受保护或经过混淆的 Java 程序。
  • 以无界面模式批量执行重复的逆向分析任务。

快速上手

  1. 1

    克隆仓库

    git clone https://github.com/Col-E/Recaf.git
  2. 2

    使用 Gradle 构建项目

    gradlew build
  3. 3

    运行 recaf-ui/build/libs 中生成的 jar 文件

使用前须知

  • 开发环境需要使用 Gradle 或 IDE 从源代码构建。

收录于专题

标签

常见问题

Recaf 是什么?
一款基于 IDE 风格界面的 Java 与 Android 字节码编辑器,可反编译、修改、反混淆并导出已编译程序。 Recaf 是一款用于编辑已编译 Java 和 Android 应用的字节码编辑器。无需原始源码,即可打开 JAR 文件,通过类似 IDE 的界面浏览类结构,并在反编译源码或字节码汇编两个层面进行修改,最后导出改动后的程序。
Recaf 可以免费使用吗?用的什么许可证?
Recaf 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
Recaf 还在维护吗?
活跃维护中。Recaf 最近一次提交是在 2026年11月2日。
Recaf 适合用来做什么?
在没有源码的情况下查看和分析 Java 或 Android 应用。 为 JAR 中缺失的依赖生成骨架代码,以便编译和修改。 分析并反混淆受保护或经过混淆的 Java 程序。 以无界面模式批量执行重复的逆向分析任务。
Recaf 怎么安装和运行?
克隆仓库: git clone https://github.com/Col-E/Recaf.git 使用 Gradle 构建项目: gradlew build 运行 recaf-ui/build/libs 中生成的 jar 文件
在哪里获取 Recaf?
源代码和安装说明在 GitHub 上:https://github.com/Col-E/Recaf

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目