您的位置:网站首页 > 源码环境 > 正文

Android 反编译利器jadx 的高级技巧

类别:源码环境 日期:2017-12-28 14:43:50 人气: 来源:

  今天介绍一个非常好用的反编译的工具 jadx 。jadx 的功能非常的强大,对我而言,基本上满足日常反编译需求。

  这些优点都让 jadx 成为我反编译的第一选择,它可以处理大部分反编译的需求,基本上是我反编译工具的首选。

  有兴趣可以直接 clone 源代码,然后本地自己编译。但是多数情况下,我们是需要一个编译好的版本。编译好的版本,可以在 sourceforge 上下载到。

  直接下载最新版就可以了,现在的最新版是 jadx-0.6.1 。下载好解压之后,你会获得这样的目录结构:

  对于 Mac 或者 Linux,使用 jadx-gui ,Windows 下就需要使用 jadx-gui.bat 了,双击可以直接运行,如果有安全,忽略它就可以了。(后文主要以 Mac 为,Windows 下的大部分操作都是类似的)

  前面提到,直接双击 jadx-gui 就可以直接运行。运行之后,会启动一个 terminal ,在这里你可以看到你所有操作的输出,错误日志也会输出在这里。

  打开之后,你可以选择一个 apk、dex、jar、zip、class、aar 文件,可以看到 jadx 支持的格式还是挺多的,基本上编译成 Java 虚拟机能识别的字节码,它都可以进行反编译。除了选择一个文件,还可以直接将 apk 文件,拖拽进去,这一点非常好用。

  这里面就是反编译后的代码了,对于 apk 而言,一些 xml 的资源,也一并被反编译还原回来了,非常的方便。

  jadx 使用起来非常的方便,而提供的 gui 程序,也很好用。下面开始介绍 jadx-gui 程序的一些好用的技巧。

  jadx 的搜索,支持四种维度,Class、Method、Field、Code,我们可以根据我们搜索的内容进行勾选,范围最大的就是 Code ,基本上就是文本匹配搜索。这里反编译的 Apk 集成了支付宝支付,所以能搜到 alipay 的内容。

  jadx 也提供了这方面的支持,找到我们需要查看的类或者方法,选中点击右键,选择 Find Usage。

  一般 Apk 在发布出去之前,都是会被混淆的,这基本上国内 App 的标配。这样一个类,最终会被混淆成 a.b.c ,方法也会变成 a.b.c.a() ,这样其实非常不利于我们阅读。我们很难看到一个 a.java 的文件,就确定它是哪一个,还需要根据包名来区分。

  而 deobfusation 功能,可以为它们其一个特殊的名字,这样它在这个项目中,名字就唯一了,方便我们识别和搜索。

  虽然,jadx-gui 可以直接阅读代码,还是很方便的。但是毕竟没有我们常见的编辑器来的方便。而正好 jadx 还支持将反编译后的项目,直接导出成一个 Gradle 编译的工程。

  不过虽然 AS 可以直接打开它,但是大多数情况下你是编译不起来的。但是这样的功能,主要是为了借助 AS 强大的 IDE 功能,例如方法跳转、引用搜索等等,让我们阅读起来更方便。

  jadx 反编译一些小的 Apk,一点压力都没有,但是对于一些比较重的 Apk,一般 Apk 大于 50MB 的,你都可能遇到使用 jadx 反编译的时候卡死的问题。

  如果你看了 terminal 中 Log 输出,你应该可以发现,实际上它是因为 OOM 引起的。

  jadx 为了加快编译的效率,所以是使用多线程处理的,而多个线程会耗费跟多的内存。所以减小反编译时候的线程数,是一个有效的方法。

  如果以上方式都不好用,在没有更好的办法的情况下,你可以直接使用命令行,通过 jadx 的命令进行放编译。并将线 ,这样虽然慢一些,但是多数情况下,是可以正常输出反编译后的代码的。

  仔细看看 jadx 命令配置的参数,基本上都可以在 Preferences 中,找到对应的配置项,相互对照理解一下,应该不难发现它的使用方式。

  你在反编译的过程中,使用 jadx 有没有碰到什么问题?还有什么更好的工具推荐,可以在留言区给我留言,我们一起讨论一下。

  我准备了一些我整理的学习资料,包含:Android反编译、算法、设计模式、kotlin、虚拟机、Linux、计算机网络、Web项目源码。如果有兴趣可以私信我。

  延伸相关词:

  陈小艺被曝姐弟恋,倒追小伙被当保姆,陆贞传奇演员表,人鱼情未了 电视剧,莫小棋三级,保拉的诱惑,李慧珍老公,luciano rivarola,如意剧情介绍电视猫,电视剧当狗爱上猫

0
0
0
0
0
0
0
0
下一篇:没有资料

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

CopyRight 2002-2012 技术支持 源码吧 FXT All Rights Reserved

赞助合作: