Jadx使用

破解范围:apk、dex、jar、zip、class、aar 

搜索功能可以点击 Navigation -> Text Search 或者 Navigation -> Class Search 激活它 jadx 的搜索,支持四种维度,Class、Method、Field、Code

搜索在哪里被调用: 找到我们需要查看的类或者方法,选中点击右键,选择 Find Usage。查看某一种方法在哪里被调用

反混淆deobfuscation: 这个功能可以在 Tools -> deobfusation 中激活标记混淆后的 方法名称。

一键导出gradle工程:可以通过 File -> Save as gradle project 来激活这个功能。

jadx 错误处理:

inconsistent code :有时候有代码,反编译的不完整,你会看到 JADX WARNING : inconsistent code 标志的错误。

解决方案:开启 Show inconsistent code 开关。你可以在 File -> Preferences 中找到它。

由于内存不足引起的错误:

官方对于这样因为内存不足引发的问题,也提供了一些解决方案。

1、减少处理的线程数。

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

如果使用命令行的话,可以使用-j 1参数,配置线程数为 1,不配置的话,默认线程数为 4。

而使用 jadx-gui 的话,可以在 Preferences 中,通过配置 Processing threads count 来配置线程数。

2、修改 jadx 脚本

直接编辑 ./bin 目录下的 jadx 脚本,配置找到 DEFAULT_JVM_OPTS ,将它设置为DEFAULT_JVM_OPTS="-Xmx2500M",就可以配置当前使用的内存大小。

如果是 Windows 系统,你需要编辑 jadx.bat 文件。

3、使用命令行命令

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

举个例子:

jadx -d out -j 1 classes.dex

更过命令,可以通过jadx -h命令进行查看。

jadx-help

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

你可能感兴趣的:(Jadx使用)