非常好用的Android反编译工具jadx-.6.1
创始人
2026-02-08 09:04:41
0

反编译软件有哪些_apk反编译软件_反编译软件是干什么用的

文字总数:3234字17张图片

预计阅读时间:9 分钟

一、简介

今天给大家介绍一款非常好用的Android反编译工具jadx。 jadx的功能非常强大。 对于我来说,基本满足了我日常的反编译需求。

jadx的优点:

图形界面。

拖放操作。

反编译并输出Java代码。

导出 Gradle 项目。

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

接下来我们看看jadx的使用方法。

2.使用jadx2.1安装jadx

jadx本身是一个开源项目,源码已经在Github上开源。

贾德克斯Github:

如果有兴趣,可以直接clone源码并在本地编译。 但大多数情况下,我们需要一个编译版本。 编译后的版本可以从sourceforge下载。

sourceforge 下载 jadx。

直接下载最新版本即可。 现在最新版本是jadx-0.6.1。 下载并解压后,你会得到这样的目录结构:

反编译软件有哪些_apk反编译软件_反编译软件是干什么用的

对于 Mac 或 Linux,请使用 jadx-gui。 Windows下,需要使用jadx-gui.bat。 双击即可直接运行。 如果有安全警告,请忽略它。 (以下文章主要以Mac环境进行说明,Windows下大部分操作类似)

2.2 使用jadx

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

打开后,您可以选择 apk、dex、jar、zip、class 或 aar 文件。 可以看到jadx支持的格式非常多。 基本上,它被编译成Java虚拟机可以识别的字节码,并且可以用于所有这些。 反编译。 除了选择文件之外,还可以直接将apk文件拖拽进去,非常实用。

手上随机找了一个Apk扔进去看看反编译效果。

apk反编译软件_反编译软件有哪些_反编译软件是干什么用的

这是反编译的代码。 对于apk来说,一些xml资源也被反编译恢复,非常方便。

3、jadx的优点

jadx使用起来非常方便,而且提供的gui程序也非常好用。 我们首先介绍一下jadx-gui程序的一些有用的技术。

3.1 强大的搜索功能

jadx提供的搜索功能非常强大,而且搜索速度也不慢。

您可以单击“导航”->“文本搜索”或“导航”->“类搜索”来激活它。 更方便的是快捷键。 我的本地快捷键是control + shift + f。 这因人而异。

反编译软件是干什么用的_反编译软件有哪些_apk反编译软件

Jadx的搜索支持四个维度,Class、Method、Field、Code。 我们可以根据我们搜索到的内容进行检查。 最大的范围是Code,它基本上是文本匹配搜索。 这里反编译出来的Apk集成了支付宝支付,所以可以搜索到支付宝内容。

3.2 直接搜索引用代码

有时我找到关键代码并想看看它在哪里被调用或引用。

jadx 也提供这方面的支持。 找到我们需要查看的类或方法,右键单击它并选择“查找用法”。

反编译软件是干什么用的_反编译软件有哪些_apk反编译软件

之后,它将帮助您搜索该项目中引用它的位置。

apk反编译软件_反编译软件是干什么用的_反编译软件有哪些

点击就可以直接跳转到,非常方便。

3.3 反混淆

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

反混淆函数可以给它们起一个特殊的名称,使其在本项目中具有唯一的名称,方便我们识别和查找。

可以在“工具”->“反混淆”中激活此功能。

接下来我们看看它是如何工作的。

反编译软件是干什么用的_apk反编译软件_反编译软件有哪些

开启去混淆后的效果如下:

反编译软件是干什么用的_apk反编译软件_反编译软件有哪些

如您所见,a 变为 p003a。 不知道大家觉得这样看是否更方便呢?

3.4 一键导出Gradle项目

虽然,jadx-gui可以直接读取代码,但是还是很方便的。 但毕竟不如我们常见的编辑器方便。 而恰巧 jadx 也支持将反编译的项目直接导出到 Gradle 编译的项目中。

可以通过文件 -> 另存为 gradle 项目来激活此功能。

反编译软件是干什么用的_apk反编译软件_反编译软件有哪些

最终的输出目录可以直接通过Android Studio打开。

反编译软件是干什么用的_apk反编译软件_反编译软件有哪些

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

4. jadx的错误处理

jadx在使用过程中也会出现一些错误。 以下是一些常见错误的总结。

4.1 代码不一致

有时,有些代码未完全反编译,您会看到带有 JADX 警告:不一致代码标志的错误。

apk反编译软件_反编译软件是干什么用的_反编译软件有哪些

这段代码已经不再是Java代码了,不利于我们阅读。 为了处理这种情况,jadx可以尝试打开Show不一致代码开关。 您可以在“文件”->“首选项”中找到它。

反编译软件是干什么用的_反编译软件有哪些_apk反编译软件

开启不一致代码后,我们再看一下这段代码,会感觉很熟悉。

反编译软件是干什么用的_apk反编译软件_反编译软件有哪些

这样处理的代码大部分都是伪代码,可能会出现错误。 下面我们就具体问题具体分析一下。

首选项中有很多开关。 如果您有兴趣,可以自行探索。

4.2 反编译错误或滞后

jadx反编译一些小Apks毫无压力。 但对于一些较重的Apk,一般是大于50MB的Apk,使用jadx反编译时可能会遇到卡顿的问题。

如果你查看终端中的Log输出,应该能够发现其实是OOM导致的。

反编译软件是干什么用的_apk反编译软件_反编译软件有哪些

针对内存不足引起的问题,官方也提供了一些解决方案。

1.减少处理线程数。

为了加快编译效率,jadx使用了多线程,多个线程会消耗更多的内存。 因此,减少反编译时的线程数是一个有效的方法。

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

如果您使用 jadx-gui,您可以通过在 Preferences 中配置处理线程计数来配置线程数。

2.修改jadx脚本

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

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

3.使用命令行命令

如果以上方法都不起作用,并且没有更好的办法,可以直接使用命令行,通过jadx命令进行编译。 并将线程数配置为1。虽然速度较慢,但​​大多数情况下都可以正常输出反编译代码。

例如:

jadx -d 输出 -j 1 类.dex

要更改命令,可以通过 jadx -h 命令查看。

反编译软件有哪些_反编译软件是干什么用的_apk反编译软件

仔细看看jadx命令配置的参数。 基本上你可以在Preferences中找到对应的配置项。 相互对比了解一下,应该不难发现如何使用。

5. 总结

jadx确实非常好用。 到这里它的使用基本上已经解释清楚了,还有一些小技巧。 自己尝试一下吧。

您在反编译过程中使用jadx有遇到什么问题吗? 如果大家有更好的工具推荐,可以在留言区给我留言apk反编译软件,我们一起讨论。

今天apk反编译软件,我在城厢墨影公众号后台回复了“成长”。 我会把我整理的一些学习资料发给大家,包括:Android反编译、算法、设计模式、虚拟机、Linux、Web项目源码。

反编译软件是干什么用的_反编译软件有哪些_apk反编译软件

相关内容

热门资讯

3... 图型上班站 最关键 是专业图形卡 丽台Quadro VX 200 可以 用于 3DStudioMAX...
手... 手机作图软件有哪些?以下是 一、经常出现的手机作图软件有:Photoshop Express、Ado...
M... 用汉语来说,应该是:mike(弱音)soufteofulfwede,括号里的发音有点交叉,再快一点就...
普... 3000—5000,重要要看你要学习哪一些方面的办公软件。 我想报一个办公软件培训班 团体阅历: O...
e... 不得不说这个社会是越来越卷了啊,有点技艺傍身真是走不远,现代社会要求新时代的人才既要具有顺应岗位和职...
电... 普通的办公软件来说,自学自通齐全是或者的。 . 日常办专用失掉的软件或者有几种,一是文字处置,如...
W... Microsoft Office是由Microsoft(微软)公司开发的一套基于 Windows 操...
办... 办公软件重要分为以下几类: 一、文字解决软件 文字解决软件是用于编写、编辑和格局化文档的办公软件。 ...
办... 1. 通常状况下,办公软件培训的费用差异较大,从几千到几万元不等。 2. 针对初学者,提供3个月...
电... 电脑办公软件重要包括以下几种:1. 文字解决软件:Microsoft Word(微软Word)、Go...
w... 1. WPS属于办公软件类型。 2. 依据网络百科的查问结果,WPS是金山软件公司自主研发的一款...
W... WPS办公软件是包括Word、Excel、PPT三种文档的软件。 在WPS表格中,咱们经常须要对...
学... 办公软件是现代人上班必无法少的工具,学习办公软件能够提高咱们的上班效率和成果。 学办公软件25节...
抖... 我用的最多的软件有:1、西瓜数据2、微商相册3、Toobigdate4、快剪辑等 短视频经营实时降级...
会... 由关秀英编著的《会声会影12与DV影片前期解决技巧》是一本适用的图书,专为数码视频喜好者设计。 ...
收... 收费的音频剪辑软件有:《快影》、《快剪辑》、《剪印》、《必剪》、《音频剪辑巨匠》等。 1、《快影》 ...
剪... 剪辑音乐的软件有剪映、音乐剪辑、音乐制造工坊、超级音乐编辑器、音频编辑器、音频编辑转换器等等。 1、...
C... CorelDRAW是一款由加拿大渥太华的Corel公司开发的专业矢量图形编辑软件,最后专为Windo...
可... 手机可以剪辑音乐的软件有哪些,置信很多人在生存中都会去下载一些音乐或许音频,有的人想对音频启动编辑,...
C... 答:平面设计是二维制图不同于3D制图,它对CPU、内存、硬盘三大件性能要求要高,CPU必定是多外围多...