Mac 下Android apk 的反编译

本文详细介绍了在Mac系统中如何进行Android APK的反编译,包括环境变量配置、apktool和dex2jar的使用。首先,下载相关工具并配置环境,通过apktool进行反编译,然后使用dex2jar转换dex文件为jar,最后通过jd-gui查看Java源代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

突然之间心血来潮,想看看反编译到底是咋回事,就看了相关的文档,也是踩了不少坑,今天在这里给大家记录一下,希望能帮助到大家。我们直接开始吧。

第一,环境变量的配置

首先,要下载一些相关的问题,我在这里给大家的下载地址:

[下载地址]

下载之后,解压相关的apktool.zip文件,会看到几个文件,如图所示:
解压之后可以看到的文件
文件有了之后,这时候需要配置环境,
首先,打开终端窗口,把 appt ,apktool,apktool.jar 三个文件拷贝到 usr/local/bin/下面。命令如下:

sudo cp 绝对路径/aapt  绝对路径/apktool 绝对路径/apktool.jar  /usr/local/bin/

注意是:sudo cp 加文件的路径, 多个文件拷贝的时候,文件与文件之间需要空格 隔开,

查看文件的路径时,鼠标右键,查看文件的简介,复制“位置”后面的全部内容,后面加“/文件名”

上面的步骤如果完成了,这时候,你可以查看是否成功,
命令: cd /usr/local/bin/
进入bin文件夹下:ls
这时候,查看是否有你刚刚复制的三个文件存在,如果存在说明你复制成功了。

这时候,你调用apktool命令,看apktool的版本是否成功。
命令:apktool -version

如果,你的命令位置还在某个文件夹下时 。
命令cd 回车,退出某个文件夹,回复到刚开始的位置;
如图:
这里写图片描述

如果,你下载的不是我上面的资源,比如你的版本是早期的活,下面反编译的时候会报错,后面说反编译报错的问题,如果,你这里是2.2.4,说明你的版本是最新的,没什么问题,我们继续往下走。

这时候,我们进行反编译apk文件,上面准备了那么多的事情,现在正是开始了。
命令进入你的apk文件存在的位置,如下:
命令:cd /Users/xxx/Documents/appapk
这时候我是进入到apk文件下面了,大家根据自己的路径走。
接着。命令:apktool d apk的文件名.apk
如图:
这里写图片描述

这时候是进行反编译,如果执行到这里。算成功
如图:
这里写图片描述

如果大家遇到下面这种情况,如图:
这里写图片描述
说明是apktool版本太低出现的缘故,这是需要替换掉“/usr/local/bin/”下apktool.jar文件,
具体下载的地址

和上面复制的命令一样,直接复制到/usr/local/bin/,就可以了,

反编译成功了之后,就会在apk文件所在的位置生成同样的文件夹。
这时候xml文件,资源都是可以打开看的。

第二,用dex2jar和jd-gui

1.dex2jar和jd-gui了,将zhi.apk重命名改成zhi.zip,然后利用解压缩软件解压,得到一个zhi目录,我们要拿到里面的classes.dex文件,如图:
这里写图片描述

2.解压dex2jar-2.0.zip文件,将classes.dex文件复制到解压的dex2jar文件下
3. 命令进入到dex2jar-2.0所在的文件夹下: cd 绝对路径
4. 如果在dex2jar-2.0下的时候,这是执行命令:sh dex2jar.sh classes.dex
5. 这时候会在dex2jar-2.0生成一个“classes_dex2jar.jar”的文件。
6. 这时候用jd-gui打开文件“classes_dex2jar.jar”,就可以看相关的Java代码了。根据时间来确定,你刚刚生成的文件。
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值