0xb-Android

安卓应用安全初窥

基础知识

APK文件结构

  • Classes.dex
  • AndroidManifest.xml
  • Resource.arsc
  • Meta-inf
  • Assets
  • 重要的标签及属性
    • Minsdklevel
    • Targetsdklevel
    • android:enable
    • android:exports
    • android:process
    • ……
  • ELF
    1. so文件
    2. 历史代码
    3. 第三方库
    4. ???

      常用组件

  • Intent
    • Action
    • Component
    • Categoriy
    • data
  • Activity
    • onCreate
    • onNewIntent
    • Exported
    • getTopActivity
  • Service
    • onStart
    • onStartCommand
    • Exported
    • Android:process
  • Receiver
    • onReceiver
    • abortbroadcast
  • Webview
  • setSavePassword
  • setJavascriptEnabled
  • addJavascriptInterface
  • Loadurl
  • PendingIntent
    • Notification
    • getActivity
    • getService
    • getBroadcast

运行时的目录结构

  • 私有目录
    • /data/data/packagename
  • sdcard

代码阅读与理解

分析工具

  1. 解包
    • Baksmali——Dex反汇编
    • Arscdecoder——Arsc解码
    • Axmlprinter
    • Apktool
  2. 反汇编
    • Dex2jar
    • jd-gui
    • jadx
    • jeb
  3. 反编译
    • Eclipse——编写测试代码
    • ida——so、动态调试
    • Xposed——方法Hook
    • adb
  4. 代码审计
  5. 分析与调试
  6. 其他
    • Burpsuit
    • Akana
    • Janus

整体思路

  • 经验总结——历史安全问题分析
  • 特征提取——准确定位分析入口点
  • 代码扫描——借助工具减少分析成本
  • 大数据分析——寻找相同问题

方法Hook

签名

生成签名证书

代码实现漏洞

组件暴露相关信息

  • enabled
  • exported
  • Permission
  • Action
  • 代码实现

蝴蝶效应与程序错误

转载请注明:碎雪的小屋 » 0xb-Android

Show Disqus Comments

Search

    Table of Contents