neocanable/garlic

GitHub: neocanable/garlic

一款用 C 语言编写的超高速开源 APK/Java 反编译器,支持多线程并发,能从 APK、DEX、JAR、CLASS 等文件快速生成 Java 源代码。

Stars: 504 | Forks: 51

# Garlic 反编译器 [![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html) English | [中文](https://github.com/neocanable/garlic/blob/main/README.CN.md) 世界上最快的 apk (android)/java 开源反编译器 使用 C 语言编写的 Android/Java 反编译器 用于从 class/jar/dex/apk 文件生成 java 源代码的工具 ### 功能 * 反编译 apk 文件 * 反编译 dex 文件 * 反编译 class 文件 * 反编译 jar 文件 * 反编译 war 文件 ### 安装 * macos/linux ``` brew install neocanable/decompiler/garlic ``` ### 构建 ##### 1. 在 linux/macOS 上构建 ​ **要求**: cmake >= **3.26** ``` git clone https://github.com/neocanable/garlic.git cd garlic cmake -B build cmake --build build ./build/garlic ``` ##### 2. 在 Windows 上构建 请查看 [Windows 构建文档](https://github.com/neocanable/garlic/blob/main/docs/build-garlic-on-windows.md) ### 使用方法 * 反编译 apk garlic /path/to/android.apk garlic /path/to/android.apk -o /path/to/save # -o 选项是源代码输出路径 garlic /path/to/android.apk -t 5 # -t 选项是线程数,默认为 4 * 反编译 .dex 文件 garlic /path/to/classes.dex garlic /path/to/classes.dex -o /path/to/save # -o 选项是源代码输出路径 garlic /path/to/classes.dex -t 5 # -t 选项是线程数,默认为 4 * 反编译 .class 文件 反编译 .class 文件,默认输出到 **stdout** garlic /path/to/jvm.class * 反编译 jar 文件 garlic /path/to/file.jar garlic /path/to/file.jar -o /path/to/save # -o 选项是源代码输出路径 garlic /path/to/file.jar -t 5 # -t 选项是线程数,默认为 4 默认输出目录为与该文件同级的目录 * javap 类似于 javap,速度更快,禁用了 LineNumber 和 StackMapTable 属性 garlic /path/to/jvm.class -p * dexdump garlic /path/to/dalvik.dex -p * 搜索字符串 garlic ~/demo/demo.apk -f "windowInfo" # 在 demo.apk 中搜索 "windowInfo" garlic ~/demo/demo.jar -f "[W|w]indow" # 在 demo.jar 中搜索正则表达式 [W|w]indow garlic ~/demo/demo.dex -f "info" # 在 demo.dex 中搜索包含字符串 "info" 的内容 ### 调试 在 **src/jvm.c** 中,将 main 函数修改为: ``` int main(int argc, char **argv) { jar_file_analyse(path_of_jar, out_of_jar, 1); return 0; } ``` 如果线程数小于 2,将禁用多线程。 ### 速度 反编译最新版 (2025-06-16) 的 wechat.apk,其大小为 200M+,包含 19w+ 个类,仅需 12 秒 ``` garlic ~/wechat/wechat.apk [Garlic] APK file analysis File : ~/wechat/wechat.apk Save to : ~/wechat/wechat_apk Thread : 4 Progress : 192538 (192538) [Done] ``` ![反编译 tiktok](https://github.com/neocanable/garlic/blob/main/shell/images/garlic-show.gif) ### 定制化 **Email:** neocanable#gmail.com (将 # 替换为 @) **wechat:** neocanable ![author](https://github.com/neocanable/garlic/blob/main/shell/images/qrcode.jpg) *基于 Apache 2.0 许可证授权*
标签:APK反编译, Bash脚本, CLASS反编译, Dalvik反编译, DEX反编译, JAR反编译, Java反编译, TLS抓取, WAR反编译, 云资产清单, 代码生成, 安卓安全, 安卓逆向, 客户端加密, 开源反编译器, 文件解析, 渗透测试工具, 源码恢复, 目录枚举, 移动安全, 软件安全, 逆向工程