从零开始学Android应用安全测试(Par1)中,我们为测试安卓应用程序设置了一个移动渗透平台。到目前为止,你需要保证你已经配置好你的虚拟设备,安装完安卓命令行工具,以及前一篇文章所提及的一些工具(drozer, dex2jar, apktool)。
从零开始学Android应用安全测试(Part2)中,我会带领大家了解一些信息收集技术,我们将看到如何反编译一款安卓应用程序,分析安卓应用程序的签名以及其他一些东西。
关于虚拟设备这一点,如果你正在寻找一款符合你需求的安卓应用测试平台,那么你可以去看看Android Tamer
提取应用中的信息
首先,确认下你系统中的InsecureBankv2是我们的最新版本。当然,建议你做一个git pull将所有更新都合并到你的主分支中。
完成之后,我们就来对这个apk文件进行一些分析,将apk文件复制到一个独立的文件夹中。就向Ios的ipa文件一样,apk文件也是一个打包文件,所以你可以通过将文件后缀从.apk修改为.zip然后就可以进行提取了。
进入提取文件后的文件夹中,你可以看到许多的文件
让我来简单的进行一下描述:
AndroidManifest.xml——AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。从安全角度来看,它包含了应用程序中所有使用到的组件信息,同时它还会显示应用程序使用的permissiosns信息,我强烈建议大家可以在谷歌文档中多看看[ 在我们所要讨论的漏洞中就会讨论到安卓应用组件中的一些东西。 Assets——这个被用来存储一些原始资源文件,存储在里面的东西会编译到apk文件中。 Res——用于储存像图片,版式文件等 META-INF——这个里边存储的是关于签名的一些信息 classes.dex——这里面就是编译的应用程序代码,如果你要进行反编译操作,那么你需要先将dex文件转换为jar文件,然后用java编译器进行读取。
小编推荐阅读