【Android 逆向】加壳技术识别 ( 函数抽取 与 Native 化加壳的区分 | VMP 加壳与 Dex2C 加壳的区分 )
2023-09-14 09:07:29 时间
一、加壳特征识别
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开发之搜索框自动提示细节MatrixCursor学习
- [Android Pro] 组件化:企业级大型项目必经之路
- 2、Android应用程序基本特性
- android 手势识别学习
- 超全Android零基础学习笔记(Android Studio安装教程+全套视频资料)
- Android识别预装的第三方App方法实例
- Android【报错】Description Resource Path Location Type Unparsed aapt error(s)! Cheheck the console for o
- Android Java编写布局
- Ubuntu下Android Studio连接手机无法识别
- Android 11.0 12.0设置系统图标形状默认为squircle
- Android tinyplay与tinycap流程(十六)
- android 5.1禁止休眠
- Android 让他们自己控制开发的定义(一个)
- 【android】禁止Edittext弹出软键盘而且使光标正常显示
- Spire.Office for Android 7.6.0 Crack-new
- Android Studio 扫描识别二维码(包含闪光灯和本地二维码)、生成二维码、生成带logo的二维码
- Android input keyevent命令