編輯:關於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了。
使用Web Service進行網絡編程 Android應用通常都是運行在手機平台上,手機系統的硬件資源是有限的,不管是存儲能力還是計算能力都有限,在Android系統上開
1 基於Socket的Android聊天室Socket通信是網絡通信中最常用的技術之一,通過Socket建立的可靠連接,可以讓多個終端與服務器保持通信,最典型的應用是建立
UI效果圖:最終的效果是可以滑動刻度來選取金額,並且滑動停止後必須定位到某個金額上,不能停留在中間。分析:決定用listview來實現上述效果分析UI圖,發現有三種類型的
本文實例講述了Android ListView的簡單應用。分享給大家供大家參考,具體如下:我們今天要講的內容是Android中ListView中的實現.一共分為四個步驟,