暂无有效的 Bilibili 视频
Icon

Jadx-gui

软件 玄易同志 2025-10-10
适用版本
1.5.3
应用领域
Minecraft

混合服务端支持
未测试(可能不兼容)
资源介绍
JADX 从入门到精通——Android 反编译一站式教程
(适用于 Windows / macOS / Linux)
[HR][/HR]
[HEADING=1]一、JADX 是什么[/HEADING]
[LIST=1]
[*]定位
开源的“Dex → Java”反编译工具,支持命令行(jadx)与图形界面(jadx-gui)。
[*]能做什么
• 把 APK / DEX / AAR / AAB / XAPK 等还原成可读 Java 源码
• 解码 AndroidManifest.xml、resources.arsc、布局、图片等
• 内置去混淆(deobfuscation)与反调试(smali debugger)
[*]不能做什么
• 100 % 还原(出现 “Code is inconsistent” 属正常)
• 无法反编译 Native 层(so)、Flutter、Unity 等
[/LIST]
[HR][/HR]
[HEADING=1]二、3 分钟极速上手[/HEADING]
[LIST=1]
[*]安装 Java 11+(64 bit)
Windows:官网下载 x64 Installer,双击安装并配置 JAVA_HOME。
[*]下载 JADX
① 稳定版:GitHub Releases 页面 → 下载 jadx-<version>.zip
② 解压后进入 bin 目录,即可看到:
• jadx-gui.bat(Windows 图形界面)
• jadx / jadx-gui(Linux/macOS 可执行脚本)
[*]运行
双击 jadx-gui.bat → 直接把 xxx.apk 拖进去 → 左侧树形结构,右侧源码,完成!
[/LIST]
[HR][/HR]
[HEADING=1]三、各平台一键安装(可选)[/HEADING]

[TABLE]
[TR]
[TH][LEFT]系统[/LEFT][/TH]

[TH][LEFT]命令一句[/LEFT][/TH]
[/TR]
[TR]
[TD][LEFT]Arch[/LEFT][/TD]

[TD][LEFT]sudo pacman -S jadx[/LEFT][/TD]
[/TR]
[TR]
[TD][LEFT]macOS[/LEFT][/TD]

[TD][LEFT]brew install jadx[/LEFT][/TD]
[/TR]
[TR]
[TD][LEFT]Linux[/LEFT][/TD]

[TD][LEFT]flatpak install flathub com.github.skylot.jadx[/LEFT][/TD]
[/TR]
[/TABLE]
[HR][/HR]
[HEADING=1]四、jadx-gui 高频操作图解[/HEADING]
[LIST=1]
[*]全局搜索
Ctrl+Shift+F → 支持类名、方法名、字符串常量、Smali。
[*]跳转到声明
Ctrl+左键 / F4,跨文件跳转无需手动找包。
[*]查找引用
Alt+F7,快速定位谁在调用该方法。
[*]去混淆
菜单 Tools → Deobfuscation → 勾选 Use deobfuscation → 立即生成映射表。
[*]调试 Smali
官方 Wiki 配置好 adb + debuggable apk 后,可直接下断点单步(F5/F6)。
[*]导出 Gradle 工程
File → Save as Gradle project → 直接用 Android Studio 打开二次修改。
[/LIST]
[HR][/HR]
[HEADING=1]五、命令行深度玩法[/HEADING]
[LIST=1]
[*]基础反编译
[CODE]jadx -d out app.apk[/CODE]



生成 out/sources 源码目录 与 out/resources 资源目录。
[*]只导出源码,跳过资源
[CODE]jadx --no-res -d src app.apk[/CODE]




[*]只导出资源,跳过源码
[CODE]jadx --no-src -d res app.apk[/CODE]




[*]线程数 & 速度优化
[CODE]jadx -j 32 --show-bad-code -d out app.apk[/CODE]



线程越多越快,但内存占用高;--show-bad-code 强制输出错误代码段便于人工修复。
[*]去混淆完整示例
[CODE]jadx --deobf --deobf-min 2 --deobf-max 60 \
--deobf-whitelist "android.support.*" \
--mappings-path mappings.tiny \
-d out app.apk[/CODE]



[*]单类反编译
[CODE]jadx --single-class com.example.Util -d tmp app.apk[/CODE]




[*]控制输出格式
[CODE]jadx --output-format json -d out app.apk[/CODE]



可生成 JSON 结构供后续自动化分析。
[/LIST]
[HR][/HR]
[HEADING=1]六、插件系统[/HEADING]
[LIST=1]
[*]查看官方市场
[CODE]jadx plugins --available[/CODE]




[*]安装插件(以 dex-input 校验关闭为例)
[CODE]jadx plugins -i "dex-input"[/CODE]




[*]命令行临时禁用插件
[CODE]jadx --disable-plugins "kotlin-metadata" app.apk[/CODE]

[/LIST]
[HR][/HR]
[HEADING=1]七、常见问题速查(Troubleshooting)[/HEADING]

[TABLE]
[TR]
[TH][LEFT]现象[/LEFT][/TH]

[TH][LEFT]原因[/LEFT][/TH]

[TH][LEFT]解决方案[/LEFT][/TH]
[/TR]
[TR]
[TD][LEFT]反编译卡住[/LEFT][/TD]

[TD][LEFT]内存不足[/LEFT][/TD]

[TD][LEFT]加大 JVM 堆:编辑 jadx-gui 启动脚本,把 -Xmx4G 改成 -Xmx8G[/LEFT][/TD]
[/TR]
[TR]
[TD][LEFT]中文乱码[/LEFT][/TD]

[TD][LEFT]未开启 Unicode 转义[/LEFT][/TD]

[TD][LEFT]加参数 --escape-unicode[/LEFT][/TD]
[/TR]
[TR]
[TD][LEFT]出现 “// ERROR: inconsistent code”[/LEFT][/TD]

[TD][LEFT]正常情况[/LEFT][/TD]

[TD][LEFT]勾选 --show-bad-code,或切 fallback 模式 --decompilation-mode fallback[/LEFT][/TD]
[/TR]
[TR]
[TD][LEFT]安装后双击无反应[/LEFT][/TD]

[TD][LEFT]Java 版本低于 11[/LEFT][/TD]

[TD][LEFT]重新安装 64 bit JDK11+ 并配置环境变量[/LEFT][/TD]
[/TR]
[/TABLE]
[HR][/HR]
[HEADING=1]八、在 Java 项目中引用 JADX(高级)[/HEADING]
Maven 坐标(最新版本请查看 Maven Central)
[CODE]<dependency>
<groupId>io.github.skylot</groupId>
<artifactId>jadx-core</artifactId>
<version>1.5.0</version>
</dependency>[/CODE]

示例:加载 dex 并遍历所有类
[CODE]JadxArgs args = new JadxArgs();
args.setInputFile(new File("classes.dex"));
args.setOutDir(new File("out"));
JadxDecompiler jadx = new JadxDecompiler(args);
jadx.load();
for (JavaClass cls : jadx.getClasses()) {
System.out.println(cls.getCode());
}[/CODE]


[HR][/HR]
[HEADING=1]九、源码编译(想贡献代码看这里)[/HEADING]
[LIST=1]
[*]环境:JDK 11+ & Git
[*]步骤
[CODE]git clone https://github.com/skylot/jadx.git
cd jadx
./gradlew dist # Windows 用 gradlew.bat[/CODE]



[*]产出
build/jadx-<version>.zip 已包含可执行脚本,与官方 Release 结构一致。
[/LIST]
[HR][/HR]
[HEADING=1]十、常用参数速查表(建议收藏)[/HEADING]
[HEADING=1][/HEADING]
[HEADING=1][TABLE]
[TR]
[TH][LEFT]场景[/LEFT][/TH]

[TH][LEFT]一键命令[/LEFT][/TH]
[/TR]
[TR]
[TD][LEFT]最速开箱[/LEFT][/TD]

[TD][LEFT]jadx-gui app.apk[/LEFT][/TD]
[/TR]
[TR]
[TD][LEFT]最大努力模式[/LEFT][/TD]

[TD][LEFT]jadx -j 32 --show-bad-code -d out app.apk[/LEFT][/TD]
[/TR]
[TR]
[TD][LEFT]仅看 Smali[/LEFT][/TD]

[TD][LEFT]jadx --decompilation-mode fallback --no-res -d out app.apk[/LEFT][/TD]
[/TR]
[TR]
[TD][LEFT]导出 Gradle[/LEFT][/TD]

[TD][LEFT]jadx --export-gradle -d project app.apk[/LEFT][/TD]
[/TR]
[TR]
[TD][LEFT]关闭资源解码[/LEFT][/TD]

[TD][LEFT]jadx --no-res …[/LEFT][/TD]
[/TR]
[TR]
[TD][LEFT]关闭调试信息[/LEFT][/TD]

[TD][LEFT]jadx --no-debug-info …[/LEFT][/TD]
[/TR]
[TR]
[TD][LEFT]内存不足[/LEFT][/TD]

[TD][LEFT]编辑启动脚本 -Xmx8G[/LEFT][/TD]
[/TR]
[/TABLE][/HEADING]
[HR][/HR]
[HEADING=1]十一、小结[/HEADING]
• JADX 免费、开源、跨平台,是 Android 逆向的“瑞士军刀”。
• GUI 适合人工审阅,CLI 适合批量/自动化。
• 遇到反编译失败优先切换 fallback、调整线程、加内存。
• 关注官方 Wiki 与 GitHub Issues,持续更新插件与去混淆规则。
祝你反编译愉快,记得遵守当地法律与软件许可协议!
资源操作
前往下载
本站为非交互式展示平台,下载链接将跳转至外部网盘。
作者信息
Avatar
玄易同志

这位作者很懒,什么都没写~