非常好用的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反编译软件

相关内容

热门资讯

M... Downie 4是一款Mac上备受好评的视频下载工具,支持Youtube、Bilibili、优酷、爱...
高... 那么在众多的选择中,最常用的两款导航软件高德地图和百度地图在车载系统CarPlay上的表现如何呢? ...
Q... 相信大家对于QQ营销推广都不陌生。 最常见的营销方式包括添加QQ好友、添加QQ群、添加群成员,然后添...
“... 点击上方蓝色字体免费订阅《IT灰色产业圈》介绍“生意难做啊!” 已入驻美团(含美团、美团外卖)的王师...
淘... 淘宝特价版性价比高,是商家和顾客都喜爱的购物APP。 既然是购物删差评软件,自然就有评论。 评论是来...
腾... 群发是很多热衷于推广的兄弟比较关心的话题。 如何让群发消息更高效,如何给自己带来方便!从去年年底开始...
N... 本文根据卡凡论坛@lixihong10的帖子修改。文章内容如下(略有修改):前几天,一个朋友不小心删...
非... 点击“蓝字”发现惊喜由于各种原因,包括人为因素、软件错误或病毒,我们经常会丢失硬盘上的一些重要数据。...
手... 01.一键录音下载链接:这是一款支持高清智能降噪的电脑录音软件。 您可以选择音源和录音格式。 支持系...
超... 今天我想向大家介绍R-Studio恢复数据丢失的软件恢复数据丢失的软件,一款非常棒的数据恢复软件。 ...
6... 获取高效/实用/有趣的软件资源和教程相信大家的电脑、手机上都存在一些模糊的图片和表情。由于传输、压缩...
开... 图像无损放大工具国内咨询图片文章末尾有下载链接它是一个开源的图像放大工具。 该软件可以帮助用户轻松放...
怪... 极客工具箱获得神器不会丢失今天更新了资源资源一免费小说:一款免费好用的小说阅读软件。 它曾有一句“”...
(... 点击“张雨馨”→右上角“...”→设为明星大家好,我是雨馨。 最近群里很多人问有没有IOS和Andr...
立... 近日,国家网信办向社会公开征求意见的《常见类型移动互联网应用程序(App)必备个人信息范围》(以下简...
朋... 春节将至,很多人选择乘坐火车回家过年。 为了买票回家,一些人求助于抢票软件。 你是否收到很多朋友圈好...
非... 文字总数:3234字17张图片预计阅读时间:9 分钟一、简介今天给大家介绍一款非常好用的Androi...
优... 概括针对传统模糊综合评价方法的缺点,如评价指标权重向量的确定主观性较强,相对隶属度权系数容易过小,不...
颠... 图片来源@视觉中国文字| 新眼睛,作者 | 路遥 编辑 | 桑明强Airtable 是一家神奇的公司...
激... 激光打码机也称为激光喷码机、激光打码设备。 以下是激光打码机的使用步骤:1. 启动1、检查打标机电源...