APP测试学习笔记1--android恶意代码分析

1、 android程序结构分析

        a)安卓系统结构,不同目录     /system      /data  /cache

        b)Android重要组件     

 

    •  Activity   显示界面; 
    • Service   服务,后台运行
    • ContenProvider  内容提供商,应用程序共享的空间,实现数据保存和访问的操作。应用程序通过Intent共享小数据,大的文件等通过内容提供商。
    • BroadCastReceiver  广播接收器,实时查看系统状态、发出警报(电量、信号、消息到达、通知消息等等)

2、apk文件(android package)安卓打包文件

   

  •  dex     : Dalvik VM executes
  •  resources.arsc 编译后的二进制资源文件
  • uncompiled  Resources   
  • AndroidManifest.xml : 描述文件,版本、需要的使用权限等信息

 

3、诊断环境

       010编辑器,可以使用模板对16进制文件直接按照结构来解析和编辑。dex文件可以 直接从网络下载模板,非常方便。 二进制模板文件(bt)采用类C文件编写。对于C结构直接定义的消息等,可以直接拷贝进来使用。

        这个在后面做自定义的 16进制接口消息解析和接口方面测试的时候,是可以应用的很好 的工具。堪称今天学习最大的收获。

 

4、androguard

     androguard使用   python,内部包含系列静态分析工具。

    建议安装santoku系统,集成了一系列的开源安全工具,包括Androguard、Burp Suite、ApkTool等等。

也可以手动安装,参考链接:http://blog.csdn.net/u013107656/article/details/51509488

Android静态分析工具包括 ApkTool、BakSmali 、Androguard 、dex2jar、jd-gui ,这些工具中除了 Androguard 不能在Windows 平台上运行外,其它的都能支持跨平台,可以在Windows 平台上良好的运行。

如果读者觉得单独下载配置这些工具麻烦,不妨使用另一款集成分析环境santoku。santoku 实质是一款定制的 Ubuntu 12.04 系统镜像,与其它Ubuntu系统相比,它具有如下特点:

1.   集成了大量主流的Android程序分析工具,为分析人员节省分析环境配置所需的时间。

2.   集成移动设备取证工具。支持Android、IPhone 等移动设备的取证工作。

3.   集成渗透测试工具。

4.   集成网络数据分析工具。在分析 Android病毒、木马等程序时,这些工具特别有用。

5.   采用 LXDE 作为系统的桌面环境,界面与 Windows XP非常相似,符合中国人使用习惯。

6.   正处于beta 阶段,但整个项目显得很有活力,相信将来的更新和维护也会不错。

7.   只能允许在64位平台的软硬件上。Santoku Linux 0.4 is a 64-bit OS and will only work with 64-bit hardware and software
 
santoku 的初衷是为了提供一套完整的移动设备司法取证环境。但很显然它集成的Android 程序分析工具,会给我们的分析工作带来很多便捷。

 

 

 以下引用: 开源静态分析工具androguard体验(一) - 研之庭 - 博客频道 - http://blog.csdn.net/xbalien29/article/details/21885297

虽然在windows端免费版的IDA、VTS等工具都可用来静态分析,但相对来说这些工具用来人工分析在合适不过,但对于项目开发,相对来说都忽视很好扩展。而在androguard却很适合进行扩展或者移植成为自己项目的某一模块,虽然早有耳闻,但也最近才动手体验几把。当然,androguard也被很多人再次开发过了,包括一些提供上传入口的检测网站,静态分析部分感觉都有使用该模块,很多静态分析工具都基于它,其中还有一款ApkInspector也很出名。

androguard主要用来进行静态分析,其默认采用ded作为反编译的软件,同时提供了很多模块供分析人员使用。项目地址 https://code.google.com/p/androguard/ 安装方法见wiki部分。如果觉得麻烦可以下载santoku,该系统是订制Ubuntu,主要用于移动设备,包括很多分析工具集合androguard、drozer也在其中,类似于kali。

这次主要是对其中几个模块进行了初步使用:

 

  1. androrisk.py 该模块用于分析apk危险级别
  2. androapkinfo.py该模块分析apk列出其中的文件类型、权限、4大组件、是否NDK反射等信息
  3. androaxml.py该模块用于展示apk androidmanifest.xml
  4. androgexf.py该模块生成函数调用图
  5. apkviewer.py该模块生成指令级别的调用图
  6. androlyze.py该模块为交互分析环境 

 

    其他分析工具:

       1、dex2jar: 反编译

       2、JD-GUI:Java decompiler  反编译

      3、AstroGrep:快速文件文本检索工具

      当然书上介绍的比较网络上提供的差很多,各种APK反编译集成工具把各类小工具集成到一起了,下载安装一个,搞定一切。当然原理相同。

             

你可能感兴趣的:(App测试)