apktool for mac

news/2024/11/24 13:22:51/

安装步骤

1、Apktool下载

安装apktool

Apktool下载

  • 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”这个隐藏目录

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 <brut.alll@gmail.com>
Copyright 2010 Connor Tumbleson <connor.tumbleson@gmail.com>usage: apktool-advance,--advanced   prints advance information.-version,--version    prints the version then exits
usage: apktool if|install-framework [options] <framework.apk>-p,--frame-path <dir>   Stores framework files into <dir>.-t,--tag <tag>          Tag frameworks using <tag>.
usage: apktool d[ecode] [options] <file_apk>-f,--force              Force delete destination directory.-o,--output <dir>       The name of folder that gets written. Default is apk.out-p,--frame-path <dir>   Uses framework files located in <dir>.-r,--no-res             Do not decode resources.-s,--no-src             Do not decode sources.-t,--frame-tag <tag>    Uses framework files tagged by <tag>.
usage: apktool b[uild] [options] <app_path>-f,--force-all          Skip changes detection and build all files.-o,--output <dir>       The name of apk that gets written. Default is dist/name.apk-p,--frame-path <dir>   Uses framework files located in <dir>.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同目录下会生成一个文件夹。

其中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文件上右键单击,解压文件。

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

5、使用dex2jar

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

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

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

https://github.com/ys1231/jadx

或者

dex2jar下载

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

执行命令

 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文件。双击解压。

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

或者  jadx-gui

 


http://www.ppmy.cn/news/292829.html

相关文章

android联想搜索不到wifi,联想笔记本搜不到无线网解决办法

可能还有些网友对于联想笔记本搜不到无线网的情况不太了解。下面是小编收集整理的&#xff0c;希望对大家有帮助~~ 联想笔记本搜不到无线网的解决方法一&#xff1a; 笔记本搜不到无线信号&#xff0c;可通过如下方式修复&#xff1a; 1***右击“我的电脑”&#xff0c;再选择“…

联想 Yoga C740::关于Ubuntu16.04下无法识别Intel WIFI6 AX201无线网卡的解决方案

关于Ubuntu16.04下无法识别Intel WIFI6 无线网卡的解决方案 环境&#xff1a; 联想 Yoga C740 i5-10210U 16GB 无线网卡 Intel WIFI6 AX201 &#xff08;在自带的Window10 系统的设备管理器下可以看到&#xff09;Ubuntu16.04 LTS 一、安装干净的Ubtuntu16.04 不展开 二、安…

联想i5无线网无法连接服务器,联想笔记本不能连接无线网的解决方法

联想笔记本不能连接无线网的解决方法 急需使用无线网络.可以暂时降低加密协议(如WEP)使用.最有效de解决办法是换一块全新de内置/外置无线网卡.最好选择支持802.11n标准。下面是jy135小编收集整理的联想笔记本不能连接无线网的解决方法&#xff0c;欢迎阅读。 联想笔记本不能连接…

联想服务器电脑找不到wifi网络,联想笔记本无线网络找不到怎么办

笔记本电脑突然之间无线网络连接不见了&#xff0c;&#xff0c;这到底是怎么回事呢&#xff0c;怎么解决!下面学习啦小编给大家讲解一下关于联想笔记本无线网络找不到的解决方法。 联想笔记本无线网络找不到的解决方法 检查自己的笔记本是否打开了wifi 注意&#xff1a;电脑都…

联想笔记本无法开启无线网卡的方法

首先要查看自己的电脑是否存在驱动冲突的情况。输入如下指令 $ rfkill list all 返回电脑目前安装的所有网卡驱动&#xff1a; 0:ideapad_wlan: Wireless LAN Soft blocked: no Hard blocked:yes 1:ideapad_bluetooth: Bluetooth Soft blocked: no Hard blocked: yes 2:phy0:…

联想笔记本无线网络无法使用(无线开关已打开,但搜不到无线网络)

今天&#xff0c;同事拿过来一台笔记本&#xff0c;说收不到无线网络了&#xff0c;插上有线可以上网&#xff0c;让给她看看。。 我看了一眼&#xff0c;果然是&#xff0c;插上网上后&#xff0c;是可以上网的&#xff0c;但就是收不到无线网络&#xff0c;本子是联想的&…

Fefora17联想笔记本安装无线网卡

1.查看当前无线网卡的型号 #lspci 找到无线网卡&#xff0c;如下图&#xff1a; 我这里的无线网卡型号是Broadcom BCM4312 2.安装必要的工具&#xff0c;需要root权限。 &#xff03;yum install b43-fwcutter wget 3.下载windows驱动 #cd /home/zdw/Downloads#wget http…

让你不再疑惑怎么转换音频格式

你是否有过这样的经历&#xff1f;听到了一首喜欢的歌曲&#xff0c;但是只能在特定的平台或设备上播放&#xff0c;因为它只存在于视频网站或某个应用程序中。或者你想要将一首歌曲作为铃声或者用于其他用途&#xff0c;但是音频文件的格式却不被平台所支持。这是&#xff0c;…