apktool for mac

安装步骤

1、Apktool下载

安装apktool

Apktool下载

apktool for mac_第1张图片

  • macOS:
    1. Download Mac wrapper script (Right click, Save Link As apktool)
    2. Download apktool-2 (find newest here)
    3. Rename downloaded jar to apktool.jar
    4. Move both files (apktool.jar & apktool) to /usr/local/bin (root needed)
    5. Make sure both files are executable (chmod +x)
    6. Try running apktool via cli

    Or you can install apktool via Homebrew:

    1. Install Homebrew as described in this page
    2. Execute command brew install apktool in terminal (no root needed). The latest version will be installed in /usr/local/Cellar/apktool/[version]/ and linked to /usr/local/bin/apktool.
    3. Try running apktool via cli

Note - Wrapper scripts are not needed, but helpful so you don’t have to type java -jar apktool.jar over and over.

一、下载 apktool-2xxx.jar,重命名为apktool.jar

下载地址:iBotPeaches / Apktool / Downloads — Bitbucket

或者下载地址: Apktool - A tool for reverse engineering 3rd party, closed, binary Android apps.

或者下载地址:   Apktool v2.7.0 Released

二、apktool 文件下载地址

GitHub - renhaijun/Apktool: A tool for reverse engineering Android apk files

在工程script目录下的osx目录下直接复制下来就行:

Apktool/scripts/osx at master · renhaijun/Apktool · GitHub

在访达中前往“/usr/local/bin”这个隐藏目录

apktool for mac_第2张图片

2、把 apktool.jar 和 apktool 这两个文件,复制或剪切到 /usr/local/bin 目录。设置权限。

cd /usr/local/bin
chmod +x apktool
chmod +x apktool.jar

输入 apktool ,查看是否展示apktool的相关信息,有则配置成功。

Macbook$ apktool
Apktool v2.7.0 - a tool for reengineering Android apk files
with smali v2.5.2-403e9037 and baksmali v2.5.2-403e9037
Copyright 2010 Ryszard Wiśniewski 
Copyright 2010 Connor Tumbleson 

usage: apktool
 -advance,--advanced   prints advance information.
 -version,--version    prints the version then exits
usage: apktool if|install-framework [options] 
 -p,--frame-path    Stores framework files into .
 -t,--tag           Tag frameworks using .
usage: apktool d[ecode] [options] 
 -f,--force              Force delete destination directory.
 -o,--output        The name of folder that gets written. Default is apk.out
 -p,--frame-path    Uses framework files located in .
 -r,--no-res             Do not decode resources.
 -s,--no-src             Do not decode sources.
 -t,--frame-tag     Uses framework files tagged by .
usage: apktool b[uild] [options] 
 -f,--force-all          Skip changes detection and build all files.
 -o,--output        The name of apk that gets written. Default is dist/name.apk
 -p,--frame-path    Uses framework files located in .

For additional info, see: https://ibotpeaches.github.io/Apktool/ 
For smali/baksmali info, see: https://github.com/JesusFreke/smali

3、反编译

将需要反编译的apk文件,复制或剪切到 /usr/local/bin 目录。

在终端输入“apktool d xxx.apk”,xxx为文件名。

MacBook-Pro bin % apktool d test.apk
I: Using Apktool 2.5.0 on test.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /Users/os/Library/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Baksmaling classes2.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...

反编译完成后,apk同目录下会生成一个文件夹。

apktool for mac_第3张图片

其中d是decode的意思,表示我们要对apk文件进行解码。
还可以再加上一些附加参数来控制decode的更多行为:
·f 如果目标文件夹已存在,则强制删除现有文件夹(默认如果目标文件夹已存在,则解码失败)。

apktool d -f test.apk
·o 指定解码目标文件夹的名称(默认使用APK文件的名字来命名目标文件夹。
·s 不反编译dex文件,也就是说classes.dex文件会被保留(默认会将dex文件解码成smali文件)。

apktool d -s test.apk
·r 不反编译资源文件,也就是说resources.arsc文件会被保留(默认会将resources.arsc解码成具体的资源文件)。

使用apktool 将APK 文件解析出来,这样能获取到 /res 目录下的资源文件。

4、解压文件
在apk文件上右键单击,解压文件。

apktool for mac_第4张图片

解压后得到了若干个dex文件。它是java源代码经过编译,再通过dx工具打包而成。

5、使用dex2jar

jadx-gui下载地址:  https://github.com/ys1231/jadx

apktool for mac_第5张图片

 复制出bin文件夹,把复制jadx-dev-all.jar文件放在jadx-gui目录下

点击jadx-gui 执行启动jadx-dev-all.jar, 把classes.dex文件托到gui中查看。

https://github.com/ys1231/jadx

或者

dex2jar下载

将dex文件复制到dex2jar所在的文件夹。

apktool for mac_第6张图片

执行命令

 sh d2j-dex2jar.sh classes.dex

结果如下,提示“Permission denied”

MacBook-Pro dex2jar-2.0 % sh d2j-dex2jar.sh classes.dex
d2j-dex2jar.sh: line 36: ./d2j_invoke.sh: Permission denied

这是文件权限不足导致的。执行如下命令修改权限:

chmod 777 d2j_invoke.sh

然后再执行反编译命令。过程如下:

MacBook-Pro dex2jar-2.0 % chmod 777 d2j_invoke.sh
MacBook-Pro dex2jar-2.0 % sh d2j-dex2jar.sh classes.dex
dex2jar classes.dex -> ./classes-dex2jar.jar

6、

完成后,目录下出现了一个名为“classes-dex2jar.jar”的jar包。

怎么处理这个jar包呢?这个时候jd-gui就起作用了。

使用jd-gui

jd-gui下载

或者  jadx-gui下载地址:  https://github.com/ys1231/jadx

下载后得到一个tar文件。双击解压。

apktool for mac_第7张图片

打开JD-GUI主程序,将jar包拖进主窗口。

apktool for mac_第8张图片

或者  jadx-gui

apktool for mac_第9张图片

 

你可能感兴趣的:(JD-GUI,mac,macos,android,apktool,jad,jad-gui)