Recaf


一个易于使用的现代Java字节码编辑器,抽象了Java程序的复杂性。
下载
特性
- 轻松地从高层或底层编辑Java字节码 (省去烦人的部分)
- Recaf内的编辑器功能抽象了编译后Java应用程序的复杂细节,例如:
- 易于使用的可导航界面,具有上下文相关的操作
- 支持标准Java 和 Android应用程序
- 多个反编译器可供切换,所有参数均可完全配置
- 内置编译器,允许重新编译反编译后的类,即使某些引用的类缺失 (支持时,支持程度可能因代码复杂性和混淆而异)
- 一种具有简单语法和支持工具的字节码汇编器
- 查看方法中任意点的局部变量和栈值状态
- 通过名称而不是索引访问变量,以获得更清晰的反汇编代码
- 自动将Java源代码片段转换为字节码序列
- 搜索各种不同的内容:字符串/数字常量、类和成员引用、指令模式
- 用于反混淆混淆代码的工具
- 旨在使逆向工程工具崩溃的特制类文件,在Recaf中打开时会自动修补
- 特制的jar/zip文件会像JVM那样读取,绕过可能欺骗逆向工程工具显示错误数据的花招
- 支持自动重命名混淆的类及其成员
- 支持手动重命名类及其成员 (并将这些映射导出为各种映射格式,以便在其他工具中使用)
- 用于简化常见混淆策略的字节码转换器
- 附加到运行中的Java进程,具有插桩能力
- 以及更多
完整的特性列表可以在用户文档中找到。
脚本与插件
Recaf通过模块化API暴露了几乎全部功能。自动化行为可以通过脚本轻松完成,或者对于更复杂的情况使用插件。还可以通过插件添加额外功能,这些插件可以在提供钩子的API中注册钩子。
要创建自己的脚本或插件,请参阅开发者文档,特别是“插件与脚本”部分。
命令行
Recaf可以作为命令行应用程序运行,当与启动时提供的脚本结合时尤其有用。您可以通过传递--help作为应用程序参数来查看所有当前的启动参数。
开发设置
通过git clone https://github.com/Col-E/Recaf.git克隆仓库
在IDE中打开项目或通过Gradle生成构建。
IDE:
- 从
build.gradle文件导入项目
- 创建一个运行配置,主类为
software.coley.recaf.Main
无IDE:
- 运行
gradlew build
- 输出将位于:
recaf-ui/build/libs/recaf-ui-{VERSION}-all.jar