Mac下Android 反编译

转载出处

原文章地址

mac环境下工具清单:

1、Apktool :将apk文件进行反编译,得到字节码(classes.dex)和资源文件及其他H5文件等。
2、dex2jar:将反编译后的classes.dex文件转化为.jar文件,此步骤是将DEX字节码转换为class字节码
3、mac下java反编译工具如jd-gui:用于将.jar文件转换成java代码。

第一步:Apktool 工具下载

下载官网:apktool下载请点击
在这里插入图片描述
这里安装方式选择homebrew 安装方式。这种首先需要安装homebrew (过程会比较慢)。
安装成功后 安装路径为 /usr/local/Cellar/ 中,可执行文件在 /usr/local/bin 中。
测试是否安装成功:执行apktool 会弹出如下:
在这里插入图片描述

使用命令前需要将apk文件copy到 /usr/local/bin/ 下,这步很重要,否则无法使用命令。
使用命令:可参考https://ibotpeaches.github.io/Apktool/documentation/
(1)使用 apktool d test.apk
在这里插入图片描述

执行命令后会生成反编译的结构目录如下:
在这里插入图片描述

(2)此种方式反编译的包中不会出现classes.dex 字节码, 如果想看到classes.dex 字节码需要使用如下命令:
apktool d -s test.apk
或者通过如下命令进行回编译:
在(1)的基础上进行执行如下命令

apktool b [反编译的文件夹]
在这里插入图片描述

执行命令后会 在test下生成build文件夹,classes.dex在build/apk/ 下。
在这里插入图片描述

当然还有一种方式就是使用解压缩软件解apk文件也可以得到classes.dex 。

第二步:dex2jar工具下载及使用

1、下载dex2jar
提供两个地址:
(1)源码build 方式:https://github.com/pxb1988/dex2jar ,将zip包下载后解压,在根目录下执行以下几步。

In the root directory run: ./gradlew distZip
cd dex-tools/build/distributions
Unzip the file dex-tools-2.1-SNAPSHOT.zip (file size should be ~5 MB)
按照上述步骤执行,我们最终得到 dex-tools-2.1-SNAPSHOT文件夹。

(2)第二种方式:https://sourceforge.net/projects/dex2jar/ 下载后直接解压即可用。
解压后的文件夹如下:
在这里插入图片描述

2、d2j-dex2jar.sh和d2j_invoke.sh添加运行权限:

chmod +x d2j-dex2jar.sh
chmod +x d2j_invoke.sh

3、将classes.dex 文件拷贝到dex2jar-2.0目录下 执行命令生成jar 包 ,执行如下命令:

sh d2j-dex2jar.sh classes.dex

则会在当前目录下生成classes-dex2jar.jar。

第三步:将jar反编译为java文件

(1)下载jd-gui,解压后即可使用,将jar 拖入即可进行反编译。
http://java-decompiler.github.io/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值