【Android 逆向】加壳技术识别 ( VMP 加壳示例 | Dex2C 加壳示例 )
文章目录
- 一、加壳技术识别
- 二、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 加壳示例 )相关推荐
- 【Android 逆向】加壳技术识别 ( 函数抽取 与 Native 化加壳的区分 | VMP 加壳与 Dex2C 加壳的区分 )
文章目录 一.加壳特征识别 1.函数抽取 与 Native 化加壳的区分 2.VMP 加壳与 Dex2C 加壳的区分 一.加壳特征识别 1.函数抽取 与 Native 化加壳的区分 函数抽取 与 Na ...
- 一加7t人脸识别_600美元起售:一加7T真机抢先看 90Hz屏/环形3摄
前几天,Oneplus一加CEO刘作虎在@微博宣布了一加7T新机设计图,刚刚外媒CNET已经曝光了一组一加7T真机开箱图.据报道,一加7T采用后置环形3摄.90Hz屏,搭载骁龙855 Plus.运行a ...
- 一加WarpTen技术今日发布:全新旗舰一加7将搭载
[TechWeb]前天晚上,一加手机官方微博突然放出一张预告海报,其中"4月1日"的关键信息引发了诸多猜想,自然少不了有粉丝会联想到全新旗舰一加7,不过昨日一加官微放出的消息给出了 ...
- Android逆向writeup,【技术分享】春秋杯逆向第一题writeup
最近被春秋杯逆向题坑了两天,记录一下解题过程. 程序一运行,就弹个控制台窗口,啥也没有,拖进IDA看了才知道,是在等待用户输入验证的key: 程序的主框架很简单,就是一运行后初始化一些数据,等待用户输 ...
- 【腾讯Bugly干货分享】Android Linker 与 SO 加壳技术
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57e3a3bc42eb88da6d4be143 作者:王赛 1. 前言 Andr ...
- AndroidLinker与SO加壳技术之下篇
2.4 链接 链接过程由 soinfo_link_image 函数完成,主要可以分为四个主要步骤: 1. 定位 dynamic section, 由函数 phdr_table_get_dynamic_ ...
- AndroidLinker与SO加壳技术之下篇 1
主页内可搜索查看<AndroidLinker与SO加壳技术之上篇> 2.4 链接 链接过程由 soinfo_link_image 函数完成,主要可以分为四个主要步骤: 1.定位 dynam ...
- linux so 加壳,AndroidLinker与SO加壳技术之下篇
2.4 链接 链接过程由 soinfo_link_image 函数完成,主要可以分为四个主要步骤: 1. 定位 dynamic section, 由函数 phdr_table_get_dynamic_ ...
- Android扫名片图像识别技术SDK
Android扫名片图像识别技术SDK 一.Android扫名片图像识别技术应用背景 这些年,随着移动互联的发展,APP应用成爆发式的增长,在很多APP中都涉及到对名片信息的录入,如移动CRM.移动端 ...
- 小七新Android逆向,小七Android逆向脱壳课程
[视频目录] [小七新Android逆向脱壳课程]脱壳1.Java环境配置与各种逆向工具安装配置介绍 [小七新Android逆向脱壳课程]脱壳2.Android手机端配置及必要软件安装 [小七新And ...
最新文章
- python连接MySQL并进行数据查询
- sh: 0: getcwd() failed: No such file or directory解决
- mysql 连接数测试_mysql最大连接数试验
- 带有天气预报的高大上web报表制作分享
- Illustrator 教程,认识 Illustrator 中的工作区
- CLR via C# 边读边想 01 - .NET 程序是如何运行起来的?
- 服务器系统建立安全连接失败,尝试与系统“ServerName”建立安全连接时,MSDTC遇到错误(HR = 0x80000171)...
- 深度置信网络简要介绍
- 洛谷试炼场---新手村
- 英特尔应用PC业真的已经走到了穷途末路?
- Android自定义控件(一)
- DSP开发的一点概念
- 如何生成公众号带参数二维码
- 图像拼接matlab
- 大鱼号自媒体如何快速通过试运营转正?
- sql server 替换字段中的部分字符,替换指定字符的方法
- lambada表达式理解
- python版 1032 挖掘机技术哪家强 (20分)
- psv无线怎么连接电脑连接电脑连接服务器,PSVR怎么接电脑 PS VR连接电脑使用教程...
- [NLP] 实例讲解 N-gram语言模型 中 Good-Turning 平滑技术
热门文章
- bartender 10.1破解版|bartender条码打印10.1
- UE4 自定义DLC Pak加载
- 值得收藏——在线小视频解析下载教程合集
- VISIO各种图标超全(IT行业专用网络及硬件)_5G行业应用规划设计思路探讨
- HTML注册页面代码实现(案例)
- nero 2015 installing
- 3DMax 完全重置
- 多媒体系统导论 实验二 基于Premiere的视频处理
- QT D:\搜狗输入法\SogouInput\Components\ 13:53:42: 程序异常结束。 13:53:42: T
- vscode风格个人主页源码