欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MAC下Apktool、dex2jar、jd-gui的安装和简单使用

程序员文章站 2022-05-23 12:29:29
...

一、安装

1、安装Apktool

方法1:普通下载安装

macOS:
下载Mac 包装器脚本(右键单击,将链接另存为apktool)
下载apktool-2(在这里找到最新的)
将下载的jar重命名为 apktool.jar
将两个文件(apktool.jar&apktool)移动到/usr/local/bin(需要root)
确保两个文件均可执行(chmod +x)
尝试apktool通过cli 运行

$:cd /usr/local/bin
$:chmod +x apktool

方法2:使用homebrew安装

或者您可以通过Homebrew安装apktool :
如本页所述安装Homebrew
brew install apktool在终端中执行命令(无需root)。最新版本将安装/usr/local/Cellar/apktool/[version]/并链接到/usr/local/bin/apktool。
尝试apktool通过cli 运行
注意 -包装脚本不是必需的,但很有用,因此您不必java -jar apktool.jar一遍又一遍地输入。

brew install apktool
# 验证安装结果
apktool -version 

2、安装dex2jar

需要注意的是,假如使用dex2jar遇到
报错 com.googlecode.d2j.DexException: not support version。
则说明你安装的版本不兼容,所以尽量安装最新版本。

下载地址:https://github.com/pxb1988/dex2jar/tree/2.1-nightly-28

MAC下Apktool、dex2jar、jd-gui的安装和简单使用
点击右下角的Latest按钮,选择最新版本进行下载;

MAC下Apktool、dex2jar、jd-gui的安装和简单使用
最后点击下载zip文件,解压就OK了。我比较懒,直接把dex2jar放在了桌面,也方便我使用。

3、安装JD-GUI

官网下载地址:http://java-decompiler.github.io/

MAC下Apktool、dex2jar、jd-gui的安装和简单使用
把app文件拖到Application文件夹下就ok了。


二、反编译流程

现在桌面上有一个demo.apk文件,我们复制一份,demo副本.apk
将副本文件名的后缀改为zip,即demo副本.zip

1. 获取xml反编译文件和smail代码

启动终端

$:cd /Users/apple/Desktop 
$:apktool d demo.apk

注意,demo.apk 要在控制台的当前目录下,因为demo.apk 在桌面,所以我先cd到了桌面的目录。

其中d是decode的意思,表示我们要对Demo.apk这个文件进行解码。那除了这个基本用法之外,我们还可以再加上一些附加参数来控制decode的更多行为:
· f 如果目标文件夹已存在,则强制删除现有文件夹(默认如果目标文件夹已存在,则解码失败)。
·o 指定解码目标文件夹的名称(默认使用APK文件的名字来命名目标文件夹。
·s 不反编译dex文件,也就是说classes.dex文件会被保留(默认会将dex文件解码成smali文件)。
·r 不反编译资源文件,也就是说resources.arsc文件会被保留(默认会将resources.arsc解码成具体的资源文件)。
常用用法就这么多了,那么上述命令的执行结果如下图所示:
原文链接:https://blog.csdn.net/u013082948/article/details/52195514

2. 反编译calss.dex文件

刚刚的demo副本.zip解压获得demo副本文件夹,进入文件夹后拷贝classes.dex(如果解压失败,换一个解压软件,不用系统自带的)

打开dex2jar 解压的目录,将classes.dex文件复制进去

由于我的dex2jar文件夹在桌面上,所以终端直接执行:

aaa@qq.com ~ % cd /Users/apple/Desktop/dex-tools-2.1 
aaa@qq.com dex-tools-2.1 % ./d2j-dex2jar.sh classes.dex

如果没有执行权限

aaa@qq.com ~ % cd /Users/apple/Desktop/dex-tools-2.1 
aaa@qq.com dex-tools-2.1 % chmod +x ./*
aaa@qq.com dex-tools-2.1 % ./d2j-dex2jar.sh classes.dex

这个时候文件夹下回多出一个jar文件classes-dex2jar.jar

3. 查看jar文件代码

打开 JD-GUI ,将 jar 拖拽到 JD-GUI 区域就可以看代码了(该代码是混淆之后的)

相关标签: 反编译工具