咨询发布 发表于 2026-3-24 22:19:11

jadx高级用法:批量导出和交叉引用和反混淆

jadx 是安卓逆向最常用的反编译工具。但大部分人只会拖进去看代码,没用到高级功能。

一、命令行批量导出
GUI 慢,命令行快。导出完整 Gradle 工程:
jadx -e output_project/ target.apk
导出后用 Android Studio 打开,有代码补全和跳转,比 jadx GUI 方便。

二、搜索技巧
jadx --search "关键词" target.apk
搜索字符串、类名、方法名。支持正则:
jadx --search "com\..*\.encrypt" target.apk

三、交叉引用(XREF)
右键方法 → Find Usage。能看到谁调了这个方法。追调用链时非常关键。比如找到加密方法 encrypt(),用 XREF 看谁调了它,就能找到加密逻辑的入口。

四、反混淆
如果 APK 被混淆了(类名变成 a.b.c),jadx 的反混淆引擎能自动推断:
jadx --deobf target.apk
会根据类的方法签名和字段类型猜测原始名称,不完美但比 a.b.c 好读。

五、导出方法签名
找到要 Frida hook 的方法,jadx 里看方法签名:
public native byte[] encrypt(byte[] data, String key)
直接用这个签名写 Frida hook 代码。

六、调试器集成
jadx 1.5+ 支持导出 smali,配合 smali 调试器可以在反编译层面断点调试。比 IDA 调试 native 快。

https://www.metk.cn/img/posts/jadx_advanced.jpg

发表于 2026-9-17 18:33:41

在撸一遍。。。

言默散记 发表于 2026-9-17 18:41:49

这类校验现在很多是服务端下发的,光改本地没用。

听风62 发表于 2026-9-17 18:45:29

如果是防护方视角,重点应该放在提升攻击成本上。

慢半拍拾光 发表于 2026-9-17 18:48:48

开源工具的质量参差不齐,选之前最好看下维护活跃度。

清和 发表于 2026-9-17 18:51:54

加固方案升级挺快的,去年那套方法今年可能就失效了。

老猫散记 发表于 2026-9-17 18:55:26

混淆只能提高门槛,不能真正阻止有心人。有没有推荐的入门资料?

南山记事 发表于 2026-9-17 18:59:02

关键算法的定位比还原实现更耗时间。

远山笔记 发表于 2026-9-17 19:03:22

混淆只能提高门槛,不能真正阻止有心人。

沉默长夏 发表于 2026-9-17 19:06:14

通信协议那层如果能抓到明文,能省掉大量逆向工作。你们环境是怎么解决版本兼容的?
页: [1] 2 3 4 5 6
查看完整版本: jadx高级用法:批量导出和交叉引用和反混淆