开启移动安全之路——CTF篇

Topic:开启移动安全之路

在CTF逆向中,谈到移动安全,径直指向了安卓逆向。

一、安卓开发

清楚安卓开发的内容是为了清楚在把apk文件反编译后,能够了解资源、代码等的分布。

1.SDK开发

使用java进行开发。

首先需要介绍两个重要类型的文件:

AndroidManifest.xml文件也被称为安卓清单文件,其中包含了包名的信息、权限的声明、代码入口等信息。

安卓Java层控制代码,编译产生dex文件,逆向后产生为smali文件夹,存放的是逆向产生的java代码。

当对apk包进行解压时,会产生诸多的文件。

  • assets文件夹为数据文件,用于存放数据库等重要数据文件;
  • lib文件夹存放so文件;
  • META-INF存放签名文件;
  • res和resources.arsc存放资源文件;
  • AndroidManifest.xml文件即为清单文件;
  • classes.dex就是java编译产生的文件。

2.NDK开发

为了保护代码,增加逆向难度。

使用C编程,Java调用。

二、工具和考点

1.反汇编工具

AndroidKiller
APKIDE

2.逆向分析工具

IDA

3.16进制编辑器

4.安卓手机/模拟器

考点:

初级:

资源、备份文件
java语言代码逆向分析

中级:

C语言代码逆向分析
动态调试

高级:

脱壳
ollvm混淆

三、安卓逆向分析

1.静态分析java层代码
2.静态分析C层代码
3.动态分析

开启移动安全之路——CTF篇_第1张图片

你可能感兴趣的:(7.逆向工程)