前言

现在我们反编译一个未加固的APP,一般来说有两种方式。

一种是用Jadx-gui,优点是一个软件就帮你将所有活给干了,缺点是如果遇到较大的APP(代码加起来超过30mb的),这个软件的索引功能基本会失效,需要用Android Studio辅助。

另一种就是传统的三件套,即Apktool + dex2jar + jd-gui,最基础的反编译三件套,在有jadx-gui之前,你只能用这三个玩意来进行基础的反编译。类似apktoolbox等软件也是将以这三个为基础进行封装。

1. jadx-gui

github,直到2021年底还在更新。
https://github.com/skylot/jadx
使用前提:电脑安装了Java11的jdk并且配置了系统环境变量。

  1. 下载jadx-gui,windows系统下这个exe就行。在这里插入图片描述
  2. 下载目标APK。
  3. 打开jadx-gui,选择打开目标apk,反编译完了。

1.1 APK过大时无法使用索引

如果遇到代码量比较大的时候,经常会jadx还未成功读取完所有代码的索引,就爆内存了,这个时候就需要用Android Studio(或者idea)进行辅助。

在jadx-gui中,选择左上角的文件,另存为gradle工程。
在这里插入图片描述

在保存之后,再用Android Studio打开另存为的工程,就可以使用索引了。

1.2 内存不足

如果内存无论如何都不够用用,需要调大内存的话,这个时候就不要从github上下载exe文件了,下载zip文件并解压。
在这里插入图片描述

只要打开bin目录下的jdax-gui.bat就能正常使用

右键该文件,选择编辑

搜索set DEFAULT_JVM_OPTS
在后面的"-Xms128M" "-Xmx4g"中的4g改为你想要开的内存大小即可,如果后面的内容为空就增加这些内容。

参考材料

GitHub - skylot/jadx: Dex to Java decompiler
https://github.com/skylot/jadx

已解决:jadx oom处理_hsw-CSDN博客_jadx内存不足
https://blog.csdn.net/u011213403/article/details/114096647

https://blog.csdn.net/jiaonizuoren/article/details/104669790/

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐