1. jadx

Jadx :查看带有语法高亮的反编译代码、跳转到声明处、查找用法、全文搜索、Smali调试器等功能


Star:37.7k⭐️

项目地址:https://github.com/skylot/jadx

下载:https://github.com/skylot/jadx/releases/tag/v1.4.7

在这里插入图片描述

操作页面:

在这里插入图片描述

2. bytecode-viewer

bytecode-viewer 是一款功能强大的Java反编译工具,支持简便的拖放式操作,适用于Java Jars和Android APKs,提供广泛的文件格式支持,内置6个Java反编译器和3个字节码反汇编器,包括Krakatau和Smali/BakSmali汇编器,支持APK/DEX文件,具备内置Java编译器、高级静态搜索功能、可定制的用户界面、插件和脚本引擎设计,以及恶意代码扫描API等特色功能,同时支持30多种语言翻译,提供导出为Runnable Jar、Zip、APK等多种功能


Star:14.1k⭐️

项目地址:https://github.com/Konloch/bytecode-viewer

下载:https://github.com/Konloch/bytecode-viewer/releases/tag/v2.12

在这里插入图片描述

操作页面:

在这里插入图片描述

3. jd-gui

JD-GUI 是一个独立的图形实用工具,用于显示“.class”文件的Java源代码,可以使用JD-GUI浏览重构后的源代码,以便立即访问方法和字段。


Star:13.2k⭐️

项目地址:https://github.com/java-decompiler/jd-gui

下载:https://github.com/java-decompiler/jd-gui/releases/tag/v1.6.6

在这里插入图片描述

操作页面:

在这里插入图片描述

4. Recaf

Recaf 是一款现代Java字节码编辑器,简化了Java程序的复杂性,包括常量池、栈帧、宽指令等


Star:5.4k⭐️

项目地址:https://github.com/Col-E/Recaf

下载:https://github.com/Col-E/Recaf/releases/tag/2.21.13

在这里插入图片描述

操作页面:

在这里插入图片描述

5. Luyten

Luyten 是一个基于Procyon的开源Java反编译GUI


Star:4.9k⭐️

项目地址:https://github.com/deathmarine/Luyten

下载:https://github.com/deathmarine/Luyten/releases/tag/v0.5.4_Rebuilt_with_Latest_depenencies

在这里插入图片描述

6. GDA-android-reversing-Tool

GDA-android-reversing-Tool 是最快且最强大的Android反编译工具(原生工具,无需Java虚拟机),支持APK、DEX、ODEX、OAT、JAR、AAR和CLASS文件。它具备恶意行为检测、隐私泄漏检测、漏洞检测、路径解决、打包器识别、变量跟踪、反混淆、Python和Java脚本、设备内存扩展等功能。


Star:3.7k⭐️

项目地址:https://github.com/charles2gan/GDA-android-reversing-Tool

下载:https://github.com/charles2gan/GDA-android-reversing-Tool/releases/tag/GDA4.10

备注:仅支持windows系统

在这里插入图片描述

7. fernflower

Fernflower 是第一个真正可行的Java解析反编译器,可能也是针对高级编程语言的解析反编译器。

Star:3.1k⭐️

项目地址:https://github.com/fesh0r/fernflower

下载:无

命令:

java -jar fernflower.jar [-<option>=<value>]* [<source>]+ <destination>

8. Krakatau

Krakatau 是一款强大的Java字节码汇编器和反汇编器,支持将二进制class文件转换为易读的文本格式,处理混淆代码,同时提供反编译器用于将Java二进制文件转换为可读源代码,专为处理混淆代码设计。


Star:1.9k⭐️

项目地址:https://github.com/Storyyeller/Krakatau

下载:无

使用方式:

krak2 dis --out temp RecordTest.class

krak2 dis --out disassembled.zip --roundtrip r0lling-challenge.jar

9. cfr

CFR 是一款反编译工具,支持解析现代Java特性,包括Java 9、12和14,但完全使用Java 6编写,因此可在任何地方运行。它甚至能够相对成功地将来自其他JVM语言的类文件转换回Java!使用时,只需运行特定版本的JAR文件,附上要反编译的类名(作为类文件路径或类路径上的完全限定类名),也可以对整个JAR文件进行反编译,只需提供JAR路径,并添加–outputdir /tmp/putithere以生成文件。


Star:1.8k⭐️

项目地址:https://github.com/leibnitz27/cfr

下载:https://github.com/leibnitz27/cfr/releases/tag/0.152

在这里插入图片描述

10. vineflower

Vineflower 是一款现代通用的JVM语言反编译器,注重提供最佳质量、速度和可用性。支持Java 20+,包括records、sealed classes、switch expressions等,具备清晰的代码生成和输出,自动输出格式化,支持多线程反编译。可在Wiki上查看Vineflower输出与其他反编译器的比较示例。


Star:890⭐️

项目地址:https://github.com/Vineflower/vineflower

下载:无

dependencies {
    implementation 'org.vineflower:vineflower:<version>'
}
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐