文章目录

  • 一、加壳特征识别
    • 1、函数抽取 与 Native 化加壳的区分
    • 2、VMP 加壳与 Dex2C 加壳的区分

一、加壳特征识别


1、函数抽取 与 Native 化加壳的区分

函数抽取 与 Native 化加壳的区别 :

  • 函数抽取 : 没有将函数 Java 代码转为 Native 代码 , 函数体无效 ;
  • VMP 加壳 : 将函数 Java 代码转为 Native 代码 ;
  • Dex2C 加壳 : 将函数 Java 代码转为 Native 代码 ;

如果函数是 非 Native 函数 , 并且 函数体 无效 , 说明这是 函数抽取 加壳 ;

如果函数是 Native 函数 , 说明这是 VMP 加壳 或者 Dex2C 加壳 ;

2、VMP 加壳与 Dex2C 加壳的区分

VMP 壳的核心原理是 Dalvik 解释器 , 对于每个 VMP 保护的函数来说 , 都有一个 VMP 解释器 ; 只有一个解释器 , 所有的函数共享这个解释器 ; 这样就导致了 每个函数的逻辑都很相似 ;

函数的注册地址相同 ;

Dex2C 壳对每个 Java 函数进行词法句法分析 , 生成对应的 C 代码 , 然后编译成 so 动态库 , 每个函数的内容都是不同的 ;

函数的注册地址不同 ;

VMP 加壳与 Dex2C 加壳的区分 :

  • 函数的 注册地址相同 , 并且 函数逻辑相似 , 则使用的是 VMP 加壳 ;

  • 函数的 注册地址不同 , 并且 函数逻辑不相似 , 则使用的是 Dex2C 加壳 ;

【Android 逆向】加壳技术识别 ( 函数抽取 与 Native 化加壳的区分 | VMP 加壳与 Dex2C 加壳的区分 )相关推荐

  1. Android逆向之旅---抖音短视频的Native注册混淆函数获取方法

    一.静态分析 最近在小密圈中有很多同学都在咨询有时候有些应用的动态注册Native函数,在分析so之后发现找不到真的实现函数功能地方,我们知道有时候为了安全考虑会动态注册Native函数,但是如果只是 ...

  2. Android逆向writeup,【技术分享】春秋杯逆向第一题writeup

    最近被春秋杯逆向题坑了两天,记录一下解题过程. 程序一运行,就弹个控制台窗口,啥也没有,拖进IDA看了才知道,是在等待用户输入验证的key: 程序的主框架很简单,就是一运行后初始化一些数据,等待用户输 ...

  3. 【Android 逆向】IDA 工具使用 ( 函数窗口 Function window | 创建引用图 Xrefs graph to | 创建调用图 Xrefs graph from )

    文章目录 一.函数窗口 Function window 二.创建引用图 Xrefs graph to 三.创建调用图 Xrefs graph from 一.函数窗口 Function window 左 ...

  4. 【Android 逆向】加壳技术简介 ( 动态加载 | 第一代加壳技术 - DEX 整体加固 | 第二代加壳技术 - 函数抽取 | 第三代加壳技术 - VMP / Dex2C | 动态库加壳技术 )

    文章目录 一.动态加载 二.第一代加壳技术 ( DEX 整体加固 ) 三.第二代加壳技术 ( 函数抽取 ) 四.第三代加壳技术 ( Java 函数 -> Native 函数 ) 五.so 动态库 ...

  5. Android APK加壳技术方案----代码实现

    本文章由Jack_Jia编写,转载请注明出处. 文章链接:http://blog.csdn.net/jiazhijun/article/details/8746917 作者:Jack_Jia    邮 ...

  6. 抽取样本java实验报告_一个自定义classloader的函数抽取壳样本

    原标题:一个自定义classloader的函数抽取壳样本 本文为看雪论坛文章 看雪论坛作者ID:lemn 本文为 看雪安卓高研2w班(7月班)优秀学员作品. 下面先让我们来看看学员的学习心得吧! 学员 ...

  7. Android扫名片图像识别技术SDK

    Android扫名片图像识别技术SDK 一.Android扫名片图像识别技术应用背景 这些年,随着移动互联的发展,APP应用成爆发式的增长,在很多APP中都涉及到对名片信息的录入,如移动CRM.移动端 ...

  8. 【Android 逆向】Dalvik 函数抽取加壳 ( Dalvik 下的函数指令抽取与恢复 | dex 函数指令恢复时机点 | 类加载流程 : 加载、链接、初始化 )

    文章目录 前言 一.Dalvik 下的函数指令抽取与恢复 二.dex 函数指令恢复时机点 1.dex 函数指令恢复 2.Android 源码中搜索 dexFindClass 函数 3.类加载流程 : ...

  9. 【Android 逆向】Dalvik 函数抽取加壳 ( 类加载流程分析 | Class.cpp#findClassNoInit 函数 | DexFile.cpp#dexFindClass 函数分析 )

    文章目录 前言 一.Class.cpp#dvmDefineClass 函数分析 二.Class.cpp#findClassNoInit 函数分析 三.DexFile.cpp#dexFindClass ...

最新文章

  1. 小程序仿安卓动画滑动效果滑动动画效果实现
  2. 112. Leetcode 673. 最长递增子序列的个数 (动态规划-子序列问题)
  3. 再来一波PHP程序员必看书籍
  4. P7519-[省选联考 2021 A/B 卷]滚榜【状压dp】
  5. 安装 Nexus——war版本
  6. 微信云支付so seay
  7. 守夜人誓言+考研誓言
  8. B. Silly Mistake(模拟、思维)
  9. su: Authentication failure问题
  10. [渝粤教育] 西南科技大学 建筑CAD 在线考试复习资料
  11. STM32F1和F4的区别
  12. POWER BI里如何累计求和(一)
  13. jzoj4270. 【NOIP2015模拟10.27】魔道研究
  14. php算html语言吗,为何说PHP 是一种 HTML 内嵌式的语言
  15. SpringBoot之配置文件YML
  16. Spring Cloud Netfilx Eureka(服务发现工具)
  17. 彩票中奖java程序 随机30选7_写一个彩票程序:30选7
  18. TVP尖峰对话李开复沈春华:AI未来进行式与技术的发展
  19. libzip开发笔记(一):libzip库介绍、编译和工程模板
  20. 学习Shell的经典好书推荐

热门文章

  1. JAVA Builder模式构建MAP/LIST的示例
  2. Java parallel control
  3. 关于code reiview
  4. 对于python中的self,cls,decorator的理解
  5. 记录MNIST采用卷积方式实现与理解
  6. [BZOJ4553][TJOI2016HEOI2016]序列(CDQ分治)
  7. chrome浏览器插件开发经验(一)
  8. java web基础1Tomcat服务器基本知识
  9. iBatis整理——iBatis批处理实现(Spring环境)
  10. [导入]MsAjax Lib- Boolean.parse 函数