Android快速分析apk工具aapt的使用教程

 更新时间:2015年04月07日 10:17:48   投稿:junjie  
这篇文章主要介绍了Android快速分析apk工具aapt的使用教程,本文讲解了什么是aapt、主要用法、使用aapt、查看apk的基本信息、查看基本信息、查看应用权限等内容,需要的朋友可以参考下

前面walfred已经介绍了使用apktool对apk进行逆向编译,通过apktool我们的确可以反编译已经序列化后的AndroidManifest.xml和资源文件等等,但是有没有一种快速有效的工具在不解包的前提下可以获得某一apk的基本内容、权限以及该apk的基本信息呢?答案就是有,这个工具就是今天要介绍的aapt。

aapt简介

aapt即Android Asset Packaging Tool,我们可以在SDK的platform-tools目录下找到该工具。aapt可以查看、 创建、 更新ZIP格式的文档附件(zip, jar, apk)。 也可将资源文件编译成二进制文件,尽管你可能没有直接使用过aapt工具,但是build scripts和IDE插件会使用这个工具打包apk文件构成一个Android 应用程序。

主要用法

下面的这个参数列表基本向我们展示了如何使用aapt以及aapt的基本功能了。

复制代码 代码如下:

aapt l[ist]:列出资源压缩包里的内容。
aapt d[ump]:查看APK包内指定的内容。
aapt p[ackage]:打包生成资源压缩包。
aapt r[emove]:从压缩包中删除指定文件。
aapt a[dd]:向压缩包中添加指定文件。
aapt v[ersion]:打印aapt的版本。

使用aapt
这里我就用一个应用来做测试sample,应用为:应用汇应用市场。
列举出apk中的所有文件

复制代码 代码如下:

walfred@ubuntu:~/lab$ aapt l yingyonghui.apk

快速分析apk工具aapt的使用
当然这个apk的内容太多,一张纸显示不了所有的内容,你可以将其重定向到一个专门的文件中去,这样查看也方便。

复制代码 代码如下:

walfred@ubuntu:~/lab$ aapt l yingyonghui.apk > yingyonghui.txt

查看apk的基本信息
aapt最实用的功能,通过d(ump)参数可以查看该apk的基本信息以及权限等,但该参数还有一个value,可以选用的value值如下:
d参数的语法如下:

复制代码 代码如下:

aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]]
values:
badging Print the label and icon for the app declared in APK.
permissions Print the permissions from the APK.
resources Print the resource table from the APK.
configurations Print the configurations in the APK.
xmltree Print the compiled xmls in the given assets.
xmlstrings Print the strings of the given compiled xml assets.

查看基本信息

复制代码 代码如下:

walfred@ubuntu:~/lab$ aapt d badging yingyonghui.apk

快速分析apk工具aapt的使用

查看应用权限

复制代码 代码如下:

walfred@ubuntu:~/lab$ aapt d permissions yingyonghui.apk

快速分析apk工具aapt的使用

结语

怎么样,aapt这个小工具本领还真不小吧,当我们在判断一个apk是否有恶意行为时,我们第一步可以考虑使用aapt这个tool哦,我们可以分析这个apk的权限列表,一旦有部分权限过大,比如发送短信、读取联系人信息等权限时,就可以进一步分析这个apk了。

相关文章

  • Android编程中光线传感器的调用方法详解

    Android编程中光线传感器的调用方法详解

    这篇文章主要介绍了Android编程中光线传感器的调用方法,结合实例形式分析了Android光线传感器的调用方法、函数、属性相关使用技巧,需要的朋友可以参考下
    2017-08-08
  • Android Studio开发实现简单计算器功能

    Android Studio开发实现简单计算器功能

    这篇文章主要为大家详细介绍了Android Studio开发实现简单计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Android开发之模仿微信打开网页的进度条效果(高仿)

    Android开发之模仿微信打开网页的进度条效果(高仿)

    这篇文章主要介绍了Android开发之模仿微信打开网页的进度条效果(高仿)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • android端实现验证码随机生成功能

    android端实现验证码随机生成功能

    这篇文章主要为大家详细介绍了android端实现验证码随机生成功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Kotlin List与Set和Map实例讲解

    Kotlin List与Set和Map实例讲解

    集合是可变数量(可能为0)的一组条目,kotlin标准库提供一个整套用于集合管理的工具,各种集合对于解决问题都具有重要意义,并且经常用到。kotlin中的集合与Java基本类似
    2022-10-10
  • Android使用RSA加密和解密的示例代码

    Android使用RSA加密和解密的示例代码

    本篇文章主要介绍了Android使用RSA加密和解密的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Android网络请求-sign参数的设置方式

    Android网络请求-sign参数的设置方式

    这篇文章主要介绍了Android网络请求-sign参数的设置方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Android编程实现TCP客户端的方法

    Android编程实现TCP客户端的方法

    这篇文章主要介绍了Android编程实现TCP客户端的方法,结合实例形式分析了Android实现TCP客户端的原理及数据通信的相关技巧,需要的朋友可以参考下
    2016-04-04
  • Android Studio实现简单的QQ登录界面的示例代码

    Android Studio实现简单的QQ登录界面的示例代码

    这篇文章主要介绍了Android Studio实现简单的QQ登录界面的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Android布局技巧之使用ViewStub

    Android布局技巧之使用ViewStub

    这篇文章主要为大家详细介绍了Android布局技巧之使用ViewStub,具有一定的实用性,感兴趣的小伙伴们可以参考一下
    2016-06-06

最新评论