Android反编译工具apktool的安装使用教程

2,119 阅读3分钟

简介:

反编译 Android 应用程序(APK)是指将编译后的 APK 文件转换回可读的源代码和资源文件的过程。这个过程通常用于调试、分析和学习他人的代码,但请注意,未经授权的反编译和修改他人应用是违法的。以下是一个详细的 Android 反编译流程介绍。

工欲善其事必先利其器,下面我们将介绍一个常用的工具apktool

1. apktool 介绍

apktool 是一个强大的工具,用于反编译和重新编译 Android 应用程序包(APK)。它允许开发者对 APK 进行逆向工程,以便查看和修改应用的资源和代码。以下是对 apktool 的介绍、安装和使用方法的详细说明。

apktool 主要功能包括:

  • 反编译 APK:将 APK 文件反编译为可读的资源文件和代码。
  • 重新编译 APK:将修改后的资源文件和代码重新编译为 APK 文件。
  • 资源文件处理:支持对应用的资源文件(如 XML、图片等)进行修改。
  • 多语言支持:支持处理多语言资源文件。

2. 安装 apktool

2.1 前提条件

  • Javaapktool 需要 Java 环境。确保你已经安装了 Java,并且配置了 JAVA_HOME 环境变量。

2.2 下载 apktool

  1. 下载 apktool 脚本

    • 访问 apktool 的官方 GitHub 仓库:github.com/iBotPeaches…
    • 下载最新版本的 apktool 脚本(apktool.jar 和 apktool 或 apktool.bat)。
  2. 将文件放置在合适的位置

    • 将 apktool.jar 和 apktool(Linux/Mac)或 apktool.bat(Windows)放置在同一个目录中。

在之前,apktool工具包都是一个压缩包,下载后无需安装即可使用。下面我们看一下如何在Mac OS系统下如何安装 apktool工具包。

一、首先,需要下载下面几个软件或工具:

Apktool:ibotpeaches.github.io/Apktool/ins…

dex2jar: github.com/pxb1988/dex…

JD-GUI: jd.benow.ca/

然后打开:Apktool官网:因为我的是mac 所以找到mac版本

image.png

  • 1.如图一步骤打开链接复制链接中的文本内,保存成个文件,取名apktool,不要带.sh后缀。可以复制到sublimetext,然后保存。
  • 2.如图二步骤下载最新的apktool-2,并将所下载的jar文件改名为”apktool.jar”
  • 3,将shell脚本”apktool”和”apktool.jar”放到 “/usr/local/bin”目录下。
  • 4,增加这两个文件可执行权限,chmod a+x file。

image.png

说明:apktool包在增加执行权限后icon会变成如下,apktool.jar无变化。

image.png

最后通过 apktool -version 检测是否安装成功即可

二、通过adb将手机上的app导出为apk

1.1 找到应用的包名

方案A:查看手机安装的应用

$ adb shell pm list package

方案B:利用monitor监视要打开的APP

$ adb shell am monitor

方案C:查看运行中的APP

$ adb logcat | findstr START

(方案B、C均需要手动点击APP启动)

 

1.2 找到应用备份包的位置

以我现在测试APP为例

$ adb shell pm path com.yxy91.creativecat

 

 

1.3 提取安装包下载到本地指定位置

adb pull 备份包所在位置 本地指定路径

$ adb pull /data/app/~~u6RzzPl8IUTTKFx1LPJ5zw==/com.yxy91.creativecat-DU-vc6afRevmPmsu8hQfCA==/base.apk E:\Weilin_BIN\Cat_apk\czm_prod.apk

至此,提取成功。可以将APK文件发送至研发同学安装啦

然后就是动态调试apk了: 可以参考 blog.csdn.net/qq_42177292…