admin 管理员组

文章数量: 887007

说在前面

最近也是实在想折腾,先入门接触接触。先研究研究用于逆向工程Android apk文件的工具-Apktool。

目录

说在前面

Apktool 简介

特征

要求

Apktool 安装

快速检查

安装Apktool

下载Windows 包装器脚本

下载apktool-2

移动到Windows目录

添加至环境变量

尝试apktool通过命令提示符运行


为什么要用Apktool?

俗话说得好,工欲善其事,必先利其器。作为一个码农,只知道如何写代码是很没有意思的。应该知道如何去看源代码。

安卓应用apk文件不仅仅是包含有resource和编译的java代码的zip文件,如果你尝试用解压工具(如好压)解压后,你将会获得classes.dex和resource.arsc等文件。如果你很好奇打开这些文件,你可能很蒙蔽,根本看不懂,这时候就需要有个工具来帮你了。

Apktool 简介

用于逆向工程第三方,封闭式二进制Android应用程序的工具。它可以将资源解码为近乎原始的形式,并在进行一些修改后重建它们。它还使得使用应用程序更容易,因为项目如文件结构和一些重复性任务的自动化,如构建apk等。

不适用于盗版和其他非法律用途。它可用于本地化,添加一些功能或支持自定义平台,分析应用程序等等。

咱们主要是用来查看程序布局文件、图片等资源,方便大家学习一些很好的布局。

特征

  • 拆卸资源近原始形式(包括resources.arscclasses.dex9.png.XMLs
  • 将解码后的资源重建为二进制APK / JAR
  • 组织和处理依赖于框架资源的APK
  • Smali调试(删除了2.1.0有利于IdeaSmali)
  • 帮助重复性任务

要求

  • Java 7(JRE 1.7)以上
  • Android SDK,AAPT和smali的基础知识

Apktool 安装

快速检查

java -version在命令行/命令提示符上执行是否返回1.8或更高?

安装Apktool

下载Windows 包装器脚本

下载Windows 包装器脚本(右键单击,将链接另存为apktool.bat

当然也可以 右键 打开链接,然后复制,然后桌面新建文本.txt,然后将复制的粘贴进去,保存,将名字改为apktool.bat;

文本内容:

@echo off
if "%PATH_BASE%" == "" set PATH_BASE=%PATH%
set PATH=%CD%;%PATH_BASE%;
chcp 65001 2>nul >nul
java -jar -Duser.language=en -Dfile.encoding=UTF8 "%~dp0\apktool.jar" %*

下载apktool-2

(在这里找到最新的)

这里我将使用目前最新的2.3.4进行演示,将下载的jar重命名为 apktool.jar

移动到Windows目录

官网给予的步骤是,将两个文件(apktool.jarapktool.bat)移动到Windows目录(通常C://Windows),当然可以将这两个文件放在任何位置,然后将该目录添加到Environment Variables System PATH变量中。

这里我放在了E盘,新建文件夹apktool:

添加至环境变量

环境变量只是告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到那些目录下去找

将路径 D:\apktool\ 复制进去即可;

尝试apktool通过命令提示符运行

这时候你只要进入,找到 apktool.bat,即可:

包含了 一些基础信息,以及一些常用操作用法,比如:

好了,到此就安装完成了,下一篇 将给大家介绍一下如何使用。

参考文献:

Apktool官网:https://ibotpeaches.github.io/Apktool/install/

本文标签: 工程 apk Android Windows Apktool