jadx 是一款功能强大的反编译工具,支持对 .dex、.apk、.jar、.class 等文件进行反编译,提供了丰富的命令行选项,满足不同场景的反编译需求。
usage: jadx [options]
输入可以是 .dex, .apk, .jar, .class 或目录
文档未提供安装步骤,故跳过此章节。
反编译一个 APK 文件:
jadx -d out --source-only --no-gpl input.apk
以多线程模式反编译 DEX 文件:
jadx -p -o output.jar /path/to/dex
验证 dex 文件并禁用优化:
jadx --parse-only --no-optimize --api-level 28 input.dex
选项 | 详情 |
---|---|
-b, --no-color | 禁用颜色输出 |
-d, --output-dir |
指定输出目录,默认为 'out' |
-e, --skip-unknown | 跳过未知文件(仅适用于 APK) |
-f, --force | 强制覆盖已存在文件 |
-h, --help | 显示帮助信息 |
-i, --info | 显示输入文件信息 |
-j, --jar | 将输出打包为 jar 文件 |
-k, --no-gpl | 禁用 GPL 类 (仅适用于 Pro 版本) |
-m, --merge | 合并类文件(仅适用于 APK 和 JAR) |
-o, --stdout | 输出到标准输出 |
-p, --parallel | 使用多线程进行反编译 |
-q, --quiet | 禁止显示进度条和警告信息 |
-r, --no-resolve | 禁用重命名功能 |
-s, --source-only | 只反编译源文件(仅适用于 JAR) |
-t, --timestamp | 显示反编译时间戳 |
-v, --version | 显示 jadx 版本 |
-w, --wait | 等待用户确认后再继续 (按 Enter 继续) |
-x, --split | 按包分割输出文件 |
选项 | 详情 |
---|---|
--encrypt-strings | 加密字符串常量(仅适用于 Pro 版本) |
--renames-file |
使用重命名映射文件 |
--no-class-renames | 禁用类重命名功能 |
--no-simplification | 禁用代码简化 |
选项 | 详情 |
---|---|
-g, --debug | 启用调试模式 |
-I, --incremental | 启用增量反编译 |
--dump-classes | 显示所有已加载的类 |
--trace | 跟踪指定类的反编译过程 |
选项 | 详情 |
---|---|
--parse-only | 只解析 DEX 文件,不进行反编译 |
--no-optimize | 禁用优化功能 |
--no-verify | 禁止验证 dex 文件校验和(仅适用于 Pro 版本) |
--api-level |
指定 Android API 级别,默认为 27 |
选项 | 详情 |
---|---|
-c, --config |
使用指定配置文件 |
-l, --license | 显示许可证信息 |
插件选项 | 详情 |
---|---|
-Pdex-input | 加载 .dex 和 .apk 文件 dex-input.verify-checksum 验证 dex 文件校验和,默认为 yes |
-Pjava-convert | 将 .class, .jar 和 .aar 文件转换为 dex java-convert.mode 转换模式,值为 [dx, d8, both],默认为 both java-convert.d8-desugar 使用 d8 的 desugar,默认为 no |
-Pjava-deobfuscate | 去除混淆信息(仅适用于 Pro 版本) java-deobfuscate.map-file 指定反编译映射文件 |
-Pno-resource-deobfuscate | 禁用资源去混淆功能 |
-Presources-only | 只反编译资源文件 |
环境变量 | 详情 |
---|---|
JDAX_HOME | 指定 jadx 安装目录,默认为当前目录 |
JDAX_JVM_OPTS | 自定义 JVM 参数 |
文档未提供技术实现细节,故跳过此章节。
文档未提供许可证信息,故跳过此章节。