前言
现在我们反编译一个未加固的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并且配置了系统环境变量。
- 下载jadx-gui,windows系统下这个exe就行。
- 下载目标APK。
- 打开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/
|