【Android 逆向】APK 加壳脱壳现状 | 判断 APK 是否加壳 | APK 逆向流程

简介: 【Android 逆向】APK 加壳脱壳现状 | 判断 APK 是否加壳 | APK 逆向流程

文章目录

一、APK 加壳脱壳现状

二、判断 APK 是否加壳

三、APK 逆向流程





一、APK 加壳脱壳现状


加壳覆盖率很高 : 当前的应用 , 基本上 90% 都会加壳 , 各大加固厂商 , 基本都 提供免费的加壳服务 ; 很难找到不加壳的应用 ;



脱壳场景 :


竞品分析 : 分析竞品 APK 时 , 如果对方加壳 , 需要 先脱壳 , 然后才能分析 ;


恶意操作分析 : 恶意应用一般都会加壳 , 并且加的壳都很特殊 , 需要 先进行脱壳 , 然后才能进行恶意代码分析 ;






二、判断 APK 是否加壳


如何判断一个 Android 应用是否加壳 :


直接解压观察 : 将应用 APK 解压 , 观察其特征 ;

Android Killer 分析 : 使用 Android Killer 等工具分析 APK 文件 , 会提示加壳信息 , 分析加壳种类 ; 每种加壳的方式都会留下加壳的指纹特征 ;

GDA 分析 : 使用 GDA 分析 APK 文件 , 将 APK 文件直接拖动到 GDA 中 , 就会进行自动分析 ;





三、APK 逆向流程


检测加壳 : 使用检测工具 如 GDA 等 , 判断 APK 文件是否加壳 ; 根据加壳的相关指纹信息 , 判断加的是哪种壳 ;


脱壳 : 针对 APK 加壳类型 , 进行 脱壳 ;


反编译 : 使用 反编译工具 如 ApkTool , JEB , Jadx 等 , 对 APK 进行反编译操作 ;


定位关键函数 :


静态分析 : 静态分析 得到 关键 字符串 , 函数 等信息 , 定位需要分析的 关键函数 ;

动态分析 : 使用 Hook , 动态调式 技术 , 进行 动态分析 ;

深入分析 : 根据 关键函数 是 Java 还是 C/C++ 再进行不同的深入分析 ;


目录
相关文章
|
2月前
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
81 6
|
2月前
|
XML 前端开发 Android开发
Android面试高频知识点(3) 详解Android View的绘制流程
Android面试高频知识点(3) 详解Android View的绘制流程
Android面试高频知识点(3) 详解Android View的绘制流程
|
2月前
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
Android面试高频知识点(4) 详解Activity的启动流程
27 3
|
2月前
|
XML 前端开发 Android开发
Android面试高频知识点(3) 详解Android View的绘制流程
Android面试高频知识点(3) 详解Android View的绘制流程
25 2
|
2月前
|
XML 前端开发 Android开发
Android View的绘制流程和原理详细解说
Android View的绘制流程和原理详细解说
39 3
|
2月前
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
18 0
|
3月前
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
讲解Activity的启动流程了,Activity的启动流程相对复杂一下,涉及到了Activity中的生命周期方法,涉及到了Android体系的CS模式,涉及到了Android中进程通讯Binder机制等等, 首先介绍一下Activity,这里引用一下Android guide中对Activity的介绍:
50 4
|
3月前
|
Android开发 开发者
Android面试之Activity启动流程简述
每个Android开发者都熟悉的Activity,但你是否了解它的启动流程呢?本文将带你深入了解。启动流程涉及四个关键角色:Launcher进程、SystemServer的AMS、应用程序的ActivityThread及Zygote进程。核心在于AMS与ActivityThread间的通信。文章详细解析了从Launcher启动Activity的过程,包括通过AIDL获取AMS、Zygote进程启动以及ActivityThread与AMS的通信机制。接着介绍了如何创建Application及Activity的具体步骤。整体流程清晰明了,帮助你更深入理解Activity的工作原理。
53 0
|
4月前
|
Android开发
我的Android进阶修炼:安卓启动流程之init(1)
本文深入分析了Android系统中的init进程,包括其源码结构、主要功能以及启动流程的详细注解,旨在帮助读者理解init作为用户空间的1号进程在Android启动过程中的关键作用。
69 1
|
4月前
|
Java Android开发 Windows
使用keytool查看Android APK签名
本文介绍了如何使用Windows命令行工具和keytool查看APK的签名信息,并提供了使用AOSP环境中的signapk.jar工具对APK进行系统签名的方法。
388 0
使用keytool查看Android APK签名
下一篇
无影云桌面