1. Android的基本概念

1.1 Android的架构

  • Linux内核
  • Android运行时
  • 应用程序与框架
  • 设备文件目录结构

1.2 Android重要组件

  • Activity
  • Service
  • Content Provider

1.3 Android应用程序的基本结构

  • Androidmanifest.xml
  • classes.dex

2.Android应用程序诊断环境

2.1 构建Android环境

  • Android SDK
  • ADK
  • Android Studio
  • 测试机或虚拟机

2.2 构建数据包分析及检测环境

  • 路由器 Cain&Able
  • Wireshark / Tshark
  • tcpdump

2.3 切换设备平台

  • Rooting
  • Tegrak内核
  • CF-Auto-Root

2.4 Android诊断工具介绍

  • ADB
  • adb pull / push
  • logcat
  • pm(package manager)
  • Busybox

2.5 使用编辑器分析文件格式

  • 010Editor dex模板

    3. Android APP分析方法

    3.1 通过反编译进行静态分析

  • dex2jar

  • jd-gui

  • AstroGrep

  • jad

3.2 通过动态调试进行分析

  • apktool
  • smali
  • signapk

3.3 通过代码修补绕过apk文件

  • strings.xml

3.4 使用AndroGuard进行分析

  • Androapkinfo
  • Androxml
  • Androluze
  • Androdd
  • Androdiff / Androsim

3.5 使用DroidBox进行自动分析

3.6 使用Sublim插件进行分析

  • AndroGuard

3.7 使用APKInspector进行分析

3.8 使用dexplorer和dexdump进行分析

3.9 使用Santoku分析移动APP

4.恶意代码分析

4.1 使用在线分析服务

  • Anubis
  • VirusTotal
  • VirusTotal APP
  • andrototal
  • apkscan app
  • Dexter
  • APK Analyzer

    4.2 手动分析恶意代码APP

    4.3 用户应对恶意代码威胁的方法

5.Android移动服务诊断

5.1 构建虚拟漏洞诊断测试环境

  • AndroidLab

5.2 OWASP TOP 10 移动安全威胁

5.3 保存不安全的数据

  • /mnt/sdcard
  • /data/data/package_name
  • 应对方案: Private

5.4 易受攻击的服务器端控制

5.5 使用易受攻击的密码

5.6 传输层保护不足(非加密通信)

  • AppUse

5.7 源代码信息泄露

  • Proguard
  • Dexguard
  • AndroidEnv

5.8 泄露重要信息

  • 泄露内存中的重要信息

5.9 泄露日志信息

  • LogCat

5.10 Web服务漏洞项目诊断

5.11 App应对方案: 加密源代码

  • Proguard

    6. 使用Android诊断工具

    6.1 PacketShark: 网络数据包截获工具

    6.2 Drozer: 移动诊断框架

    6.3 ASEF: 移动设备漏洞工具

    6.4 DroidSheep: Web会话截取工具

    6.5 dSploit: 网络诊断工具