这个项目能做什么
jadx 是一个开源的 Dex 到 Java 反编译器,采用 Apache 2.0 许可证发布。它提供命令行和 GUI 工具,用于从 Android Dex 和 APK 文件生成 Java 源代码。
主要功能:
- 从 APK、dex、aar、aab 和 zip 文件中将 Dalvik 字节码反编译为 Java 代码。
- 从 resources.arsc 中解码 AndroidManifest.xml 和其他资源。
- 包含一个可配置名称长度限制、白名单和映射文件支持的混淆解除器(支持 Tiny、Tiny v2、Enigma、ProGuard、SRG、XSRG、JAM、CSRG、TSRG、TSRG 2、IntelliJ 迁移映射、Recaf 简单、JOBF)。
jadx-gui 界面提供语法高亮的反编译代码、跳转到声明、查找使用、全文搜索以及 smali 调试器。项目 wiki 上记录了按键绑定和功能概览。
安装方式包括 GitHub 发布存档、夜间不稳定版本、Arch Linux 软件包(extra 和 AUR)、macOS 的 Homebrew 以及 Flathub。运行工具需要 Java 11 或更高版本的 64 位环境。jadx 也可以作为库用于 Java 项目,并且可以使用 JDK 17 或更高版本通过 Gradle 从源码构建。
命令行工具接受众多选项,涵盖输出目录、反编译模式(auto、restructure、simple、fallback)、资源解码、线程数、Gradle 项目导出、混淆解除设置、重命名标志、整数格式、控制流图和调用图导出、日志级别以及配置文件。此外,plugins 命令支持安装、列出、更新、启用和禁用插件,随附的插件包括 dex 输入、Java 转换、Kotlin 元数据、Kotlin SMAP、重命名映射和 smali 输入。
环境变量可用于自定义配置、缓存和临时目录,以及调整 XML/zip 安全检查和 zip 条目限制。README 说明 jadx 在某些情况下可能无法反编译所有代码,因此可能出现错误,并指向 wiki 上的故障排除指南。
评论
0 评分人数达到10人后显示
登录后参与讨论。