文章目录

  • 一、加壳技术识别
  • 二、VMP 加壳示例
  • 三、Dex2C 加壳示例

一、加壳技术识别


加壳技术识别的必要性 : 拿到 APK 文件后 , 如果想要分析其 DEX 文件 , 需要先 识别出该 APK 是使用的什么技术进行的加壳 , 如果该 APK 只是使用了整体保护 , 只需要将内存中的 DEX 文件 DUMP 下来即可 ; 如果该 APK 使用了 VMP 加壳 , 则需要逆向分析解释器 ;

只有识别出加壳的方式 , 才能有针对的进行脱壳 ;

上一篇博客 【Android 逆向】加壳技术简介 ( 动态加载 | 第一代加壳技术 - DEX 整体加固 | 第二代加壳技术 - 函数抽取 | 第三代加壳技术 - VMP / Dex2C | 动态库加壳技术 ) 中介绍了几种常用的加壳技术 ;

每个加壳的应用必然使用 DEX 整体加固 , 然后在该基础上 , 使用 函数抽取 , VMP , Dex2C 中的一种加壳技术 , 也有可能使用 333 者中的多种加壳技术 , 进行混合加壳 ;

整体加固 就是对 DEX 文件进行 整体加密 , https://blog.csdn.net/shulianghan/category_10559800.html 专栏就实现了一个 DEX 整体加固的示例 ;

函数抽取特征 : 获取到加壳后的 DEX 文件 , 其函数体是无效的 ;

VMP / Dex2C 加壳特征 : 获取到 DEX 文件后 , Java 函数变为 Native 函数 ;

二、VMP 加壳示例


推荐一个 VMP 加壳程序 ADVMP ;

  • 源码地址 : https://gitee.com/simon_haha/ADVMP
  • 源码简介 : https://www.cnblogs.com/develop/p/4397397.html

VMP 的核心原理是 自定义 Dalvik 和 ART 解释器 , 解释器解释 Smali 指令流 ; 该解释器是 VMP 加壳的核心原理 ;

解释器可以使用 Java 实现 , 也可以使用 C 实现 , 使用 Java 实现更容易被破解 ; 因此 , 解释器一般使用 C 实现 , 为了保护解释器不被快速定位 , 一般会使用 OLLVM 技术对解释器进行保护 , 增加逆向的难度 ;

三、Dex2C 加壳示例


推荐一个 Dex2C 加壳程序 dcc ;

  • 源码地址 : https://gitee.com/coolblood/dcc

Dex2C 加壳特征 : 获取到 DEX 文件后 , 其中被保护的函数 , 由 Java 函数变为了 Native 函数 ;

传统的编译原理 : 将代码进行词法 , 句法分析 , 生成二进制汇编代码 , 也就是机器码 ;

Dex2C 中, 将 Java 代码进行词法 , 句法分析 , 生成对应的 C / C++ 文件 , 然后交叉编译为 SO 动态库 ;

【Android 逆向】加壳技术识别 ( VMP 加壳示例 | Dex2C 加壳示例 )相关推荐

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

    文章目录 一.加壳特征识别 1.函数抽取 与 Native 化加壳的区分 2.VMP 加壳与 Dex2C 加壳的区分 一.加壳特征识别 1.函数抽取 与 Native 化加壳的区分 函数抽取 与 Na ...

  2. 一加7t人脸识别_600美元起售:一加7T真机抢先看 90Hz屏/环形3摄

    前几天,Oneplus一加CEO刘作虎在@微博宣布了一加7T新机设计图,刚刚外媒CNET已经曝光了一组一加7T真机开箱图.据报道,一加7T采用后置环形3摄.90Hz屏,搭载骁龙855 Plus.运行a ...

  3. 一加WarpTen技术今日发布:全新旗舰一加7将搭载

    [TechWeb]前天晚上,一加手机官方微博突然放出一张预告海报,其中"4月1日"的关键信息引发了诸多猜想,自然少不了有粉丝会联想到全新旗舰一加7,不过昨日一加官微放出的消息给出了 ...

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

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

  5. 【腾讯Bugly干货分享】Android Linker 与 SO 加壳技术

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57e3a3bc42eb88da6d4be143 作者:王赛 1. 前言 Andr ...

  6. AndroidLinker与SO加壳技术之下篇

    2.4 链接 链接过程由 soinfo_link_image 函数完成,主要可以分为四个主要步骤: 1. 定位 dynamic section, 由函数 phdr_table_get_dynamic_ ...

  7. AndroidLinker与SO加壳技术之下篇 1

    主页内可搜索查看<AndroidLinker与SO加壳技术之上篇> 2.4 链接 链接过程由 soinfo_link_image 函数完成,主要可以分为四个主要步骤: 1.定位 dynam ...

  8. linux so 加壳,AndroidLinker与SO加壳技术之下篇

    2.4 链接 链接过程由 soinfo_link_image 函数完成,主要可以分为四个主要步骤: 1. 定位 dynamic section, 由函数 phdr_table_get_dynamic_ ...

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

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

  10. 小七新Android逆向,小七Android逆向脱壳课程

    [视频目录] [小七新Android逆向脱壳课程]脱壳1.Java环境配置与各种逆向工具安装配置介绍 [小七新Android逆向脱壳课程]脱壳2.Android手机端配置及必要软件安装 [小七新And ...

最新文章

  1. python连接MySQL并进行数据查询
  2. sh: 0: getcwd() failed: No such file or directory解决
  3. mysql 连接数测试_mysql最大连接数试验
  4. 带有天气预报的高大上web报表制作分享
  5. Illustrator 教程,认识 Illustrator 中的工作区
  6. CLR via C# 边读边想 01 - .NET 程序是如何运行起来的?
  7. 服务器系统建立安全连接失败,尝试与系统“ServerName”建立安全连接时,MSDTC遇到错误(HR = 0x80000171)...
  8. 深度置信网络简要介绍
  9. 洛谷试炼场---新手村
  10. 英特尔应用PC业真的已经走到了穷途末路?
  11. Android自定义控件(一)
  12. DSP开发的一点概念
  13. 如何生成公众号带参数二维码
  14. 图像拼接matlab
  15. 大鱼号自媒体如何快速通过试运营转正?
  16. sql server 替换字段中的部分字符,替换指定字符的方法
  17. lambada表达式理解
  18. python版 1032 挖掘机技术哪家强 (20分)
  19. psv无线怎么连接电脑连接电脑连接服务器,PSVR怎么接电脑 PS VR连接电脑使用教程...
  20. [NLP] 实例讲解 N-gram语言模型 中 Good-Turning 平滑技术

热门文章

  1. bartender 10.1破解版|bartender条码打印10.1
  2. UE4 自定义DLC Pak加载
  3. 值得收藏——在线小视频解析下载教程合集
  4. VISIO各种图标超全(IT行业专用网络及硬件)_5G行业应用规划设计思路探讨
  5. HTML注册页面代码实现(案例)
  6. nero 2015 installing
  7. 3DMax 完全重置
  8. 多媒体系统导论 实验二 基于Premiere的视频处理
  9. QT D:\搜狗输入法\SogouInput\Components\ 13:53:42: 程序异常结束。 13:53:42: T
  10. vscode风格个人主页源码