转载:分析apk工具aapt的使用,解析其原理

通过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的基本功能了。

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

使用aapt

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

1
[email protected]:~/lab$ aapt l yingyonghui.apk

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

1
[email protected]:~/lab$ aapt l yingyonghui.apk > yingyonghui.txt

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

1
2
3
4
5
6
7
8
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.

查看基本信息

1
[email protected]:~/lab$ aapt d badging yingyonghui.apk

查看应用权限

1
[email protected]:~/lab$ aapt d permissions yingyonghui.apk

结语

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

最后推荐:爱加密关于关于某银行apk的安全分析实例

时间: 2024-10-14 10:10:54

转载:分析apk工具aapt的使用,解析其原理的相关文章

分析apk工具aapt的使用,解析其原理

通过apktool我们的确可以反编译已经序列化后的AndroidManifest.xml和资源文件等等,但是有没有一种快速有效的工具在不解包的前提下可以获得某一apk的基本内容.权限以及该apk的基本信息呢?答案就是有,这个工具就是今天要介绍的aapt. aapt简介 aapt即Android Asset Packaging Tool,我们可以在SDK的platform-tools目录下找到该工具.aapt可以查看. 创建. 更新ZIP格式的文档附件(zip, jar, apk). 也可将资源文

快速分析apk工具aapt的使用

前面walfred已经介绍了使用apktool对apk进行逆向编译,通过apktool我们的确可以反编译已经序列化后的AndroidManifest.xml和资源文件等等,但是有没有一种快速有效的工具在不解包的前提下可以获得某一apk的基本内容.权限以及该apk的基本信息呢?答案就是有,这个工具就是今天要介绍的aapt. aapt简介 aapt即Android Asset Packaging Tool,我们可以在SDK的platform-tools目录下找到该工具.aapt可以查看. 创建. 更

JAVAWEB开发之Struts2详解(一)——Struts2框架介绍与快速入门、流程分析与工具配置以及Struts2的配置以及Action和Result的详细使用

Struts2框架介绍 三大框架:是企业主流JavaEE开发的一套架构.Struts2 + Spring + Hibernate 什么是框架?为什么要学习框架? 框架是实现部分功能的代码(半成品),使用框架简化企业级软件开发. Struts2与MVC? Struts是一款优秀的MVC框架 MVC:是一种思想,是一种模式,将软件分为Model模型.View视图.Controller控制器 JAVAEE软件三层架构:web层(表现层).业务逻辑层.数据持久层(Sun提供javaEE开发规范) Jav

【转载】 AWK 工具简明介绍

有一些网友看了前两天的<Linux下应该知道的技巧>希望我能教教他们用awk和sed,所以,出现了这篇文章.我估计这些80后的年轻朋友可能对awk/sed这类上古神器有点陌生了,所以需要我这个老家伙来炒炒冷饭.况且,AWK是贝尔实验室1977年搞出来的文本出现神器,今年是蛇年,是AWK的本命年,而且年纪和我相仿,所以非常有必要为他写篇文章. 之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的Family Nam

【转载】android 工具类 DateUtil,可以用它方便的进行日期的操作

本文转载自:http://blog.csdn.net/xuduzhoud/article/details/27526177 全部代码如下: DateUtil.java package com.example.tset; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 日期操作工具类. * * @au

反编译apk工具,apk反编译工具Jadx的使用

Android初学者会使用其他人的apk,这样能知道别人是如何编写的,在知道别人是如何编写的前提下需要一款能实现反编译软件,再把软件反编译出来查看其中的代码. 如何使用反编译apk工具? 步骤一.打开Androidfby中的Android反编译工具,然后进行反编译,几维安全提醒一定要选中你要反编译的apk,此时就会得到xml.dex文件等.还可以通过解压文件的形式,但有一处弊端就是不能保证xml文件正常显示,所以建议结合一起使用. 步骤二.打开被反编译过后的文件夹然后找到classes.dex,

阿庆SQL智能查询分析器,使用delphi开发的一个数据库查询分析管理工具.分享给大家

为方便自己工作,使用delphi开发的一个数据库查询分析管理工具.分享给大家,具体以下特点: 1.由于使用ADO连接,理论支持SQL Server.Access.MySQL.Oracle等所有数据库 2.支持SQL关键词自动提示 3.支持表名自动提示 4.支持表字段自动提示 5.支持SQ关键词.表名.表字段不同颜色显示 6.支持SQL语句注释(包括ACCESS) 7.支持选择部分文字执行SQL语句 8.查询结果支持增加.修改.编辑 9.绿色程序无附加文件,只有一个文件即可运行,文件大小只有400

【转载】性能测试工具webbench

webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好用,安装使用也特别方便,并且非常小.主要是-t参数用着比较爽 1.适用系统:Linux 2.编译安装: [[email protected] ~]$wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz[[email protected] ~]$tar zxvf webbench-1.5.tar.gz[[ema

DockerScan:Docker安全分析&amp;测试工具

DockerScan:Docker安全分析&测试工具 今天给大家介绍的是一款名叫DockerScan的工具,我们可以用它来对Docker进行安全分析或者安全测试. 项目主页 http://github.com/cr0hn/dockerscan 提交问题 https://github.com/cr0hn/dockerscan/issues/ 开发者 Daniel Garcia (cr0hn) / Roberto Munoz (robskye) 使用文档 http://dockerscan.read