Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android快速分析apk工具aapt的使用教程

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

編輯:Android開發實例

前面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的內容太多,一張紙顯示不了所有的內容,你可以將其重定向到一個專門的文件中去,這樣查看也方便。

代碼如下:

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


查看應用權限

代碼如下:

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

結語

怎麼樣,aapt這個小工具本領還真不小吧,當我們在判斷一個apk是否有惡意行為時,我們第一步可以考慮使用aapt這個tool哦,我們可以分析這個apk的權限列表,一旦有部分權限過大,比如發送短信、讀取聯系人信息等權限時,就可以進一步分析這個apk了。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved