# Garlic APK/Java 反编译器

> 用 C 语言编写的 Java 与 Android 反编译器，可多线程地从 class、JAR、WAR、DEX 和 APK 文件还原 Java 源码；还能输出类似 javap 或 dexdump 的类信息，将 APK 和 DEX 转换为 smali，用正则表达式搜索其中的字符串，并为 DEX 和 APK 生成调用图。运行 garlic -m 会启动基于 stdio 的 MCP 服务器，提供七个工具，可反编译文件、输出类信息、构建调用图、将调用图导入 DuckDB 以便用 SQL 查询，以及读取提取出的 AndroidManifest.xml。README 称反编译一个超过 200 MB、约 19 万个类的 APK 只需 12 秒。

- 类型：工具
- 目标：应用
- 类别：Android 工具
- 关联：基础工具
- 来源复核于：2026-10-20
- 收录于：2026-11-02
- 原始资源：<https://github.com/neocanable/garlic>
- 一手来源：<https://github.com/neocanable/garlic/blob/700a7f4ea650f5ba5162604987f5a414a2e27026/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/garlic-decompiler/>
- 记录 JSON：<https://awesomerea.org/resources/garlic-decompiler/record.json>
- 英文版：[English](https://awesomerea.org/resources/garlic-decompiler/index.md)

## 使用条件与局限

- 审阅时 garlic 的最新版本为 v1.8-release，发布于 2026-08-17，提供适用于 Linux（x64、i686、aarch64）、macOS（x64、aarch64）和 Windows（win32、win64）的独立二进制；所审阅的 main 提交比该版本多 34 个提交。之后的 v1.8-release-thyme 标签提供的则是 Thyme 的安装包，这是仓库主页介绍的另一款付费逆向工程 IDE。
- 从源码构建时，Linux 和 macOS 使用 CMake 3.26+，主机构建和交叉编译可使用 Zig 0.16.0+，Windows 使用 MinGW-w64，arm64-v8a 版本使用 Android NDK（r21 及以上，已在 r28 上验证）。MCP 服务器的 analyze、cg_import 和 cg_query 工具需要 PATH 中有 DuckDB 命令行工具。输入为使用者自己的 class、JAR、WAR、DEX 或 APK 文件。
- -n 原生库分析功能（README 列出的内容为 AArch64 ELF 文件的控制流、IR、导入、导出、字符串和调用图）来自 librosemarylib：这是一个闭源库，以预编译的 librosemarylib.so、.dylib 和 .dll 文件形式按各桌面平台提交在 libs/ 下，并在构建时嵌入 garlic 二进制。缺少该库时以及在 Android 上，-n 功能被禁用。garlic 的 -l 选项用于为该库安装购买的许可证密钥。
- 仓库的 LICENSE 为 Apache-2.0；librosemarylib 没有单独公布条款或源码。README 未报告对反编译结果正确性的评估，发布说明列出了针对特定应用的反编译错误和崩溃修复。

## 一手来源

1. <https://github.com/neocanable/garlic/blob/700a7f4ea650f5ba5162604987f5a414a2e27026/README.md>
2. <https://github.com/neocanable/garlic/blob/700a7f4ea650f5ba5162604987f5a414a2e27026/MCP-SERVER.md>
3. <https://github.com/neocanable/garlic/blob/700a7f4ea650f5ba5162604987f5a414a2e27026/src/garlic.c#L133-L144>
4. <https://github.com/neocanable/garlic/blob/700a7f4ea650f5ba5162604987f5a414a2e27026/src/garlic.c#L320-L343>
5. <https://github.com/neocanable/garlic/blob/700a7f4ea650f5ba5162604987f5a414a2e27026/CMakeLists.txt#L135-L196>
6. <https://github.com/neocanable/garlic/tree/700a7f4ea650f5ba5162604987f5a414a2e27026/libs>
7. <https://github.com/neocanable/garlic/blob/700a7f4ea650f5ba5162604987f5a414a2e27026/docs/garlic-on-windows.md>
8. <https://github.com/neocanable/garlic/blob/700a7f4ea650f5ba5162604987f5a414a2e27026/LICENSE>
9. <https://github.com/neocanable/garlic/releases/tag/v1.8-release>
10. <https://github.com/neocanable/garlic/releases/tag/v1.8-release-thyme>

## 同分区更多条目：应用

- [Android-Disassembler 安卓端反汇编应用](https://awesomerea.org/zh/resources/android-disassembler/index.md) · 工具
- [XAPKDetector APK/DEX 检测工具](https://awesomerea.org/zh/resources/xapkdetector/index.md) · 工具
- [Jsxer JSXBIN 反编译器](https://awesomerea.org/zh/resources/jsxer/index.md) · 工具
- [jni_helper JNI 函数签名提取工具](https://awesomerea.org/zh/resources/jni-helper/index.md) · 工具
- [ReArk 鸿蒙与移动应用逆向分析工作台](https://awesomerea.org/zh/resources/reark/index.md) · 工具
- [ARSCLib Android 二进制资源读写库](https://awesomerea.org/zh/resources/arsclib/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
