首页
论坛
课程
招聘
Android加壳与脱壳(6)——各类加壳器和原理分析推荐
2022-11-10 10:20 6498

Android加壳与脱壳(6)——各类加壳器和原理分析推荐

2022-11-10 10:20
6498

Android加壳与脱壳(6)——各类加壳器与原理分析推荐

目录

1.前言

为了方便编写Android加壳与脱壳系列的文章,今天收集整理了网络上实用的加壳器和分析文章,本文推荐的加壳器框架都进行了一一的复现,所以方便大家的学习。

2.项目推荐

2.1 加壳的发展史

我们纵观Android加固主要分为dex加壳和so加固,本文主要描述dex加壳的发展史

 

 

即总共可以包括:动态加载壳、不落地加载壳、函数抽取壳、dex2c壳、dex-vmp壳

 

五类加壳各自具有不同的特点,而技术难度也是逐步的增加,下面将给大家推荐网上开源的五类加壳器,方便大家的学习整理

2.2 动态加载壳

加壳器:

 

这里原作者的项目好像删除了,可以使用这里我重新编译出来的框架

 

https://github.com/WindXaa/Android-reverse/tree/main/Android%E7%AE%80%E6%98%93%E5%8A%A0%E5%A3%B3%E5%99%A8

 

分析文章:

 

https://mp.weixin.qq.com/s/LWTFNDV1dff8cdBakd1AOQ

 

动态加载壳比较简单,但缺点是容易将dex解密后释放在本地

2.3 不落地加载壳

加壳器:https://github.com/Frezrik/Jiagu

 

该作者实现了通用的不落地加载壳的加壳器,不落地加载主要是为了对抗前文的缺点,这里通过在Android8.0前后采用不同的方案进行实现

 

分析文章:

 

https://blog.csdn.net/z9722/article/details/120785602

 

更详细的分析文章关注公众号

2.4 函数抽取壳

加壳器:https://github.com/luoyesiqiu/dpt-shell

 

函数抽取壳的粒度更细,可以对抗前面整体加壳的方式

 

分析文章:

 

https://bbs.pediy.com/thread-271139.htm

2.5 dex2c壳

加壳器:https://github.com/amimo/dcc

 

dex2c壳开始从java层向so层进行转换,主要通过反编译,然后通过C/C++将java层的代码翻译过来,这样特点是绑定在不同的函数地址上

 

分析文章:

 

暂时未看见不错的分析文章,后面团队会编写相关原理文章

2.6 dex-vmp壳

加壳器:https://github.com/maoabc/nmmp

 

dex-vmp通过大量的jni接口反射将java代码反射到so层,然后在so层通过自定义的解释器去解释,特点是函数都注册在相同的地址上

 

分析文章:

 

https://bbs.pediy.com/thread-270799.htm

 

https://nemozqqz.github.io/2022/06/15/VMProtect-and-Android-DEX-VMP.html

3.总结

本文收集总结了网络上开源且可以复现的加壳器框架和分析文章,这里帮助大家学习,论坛上面也存在很多不错的分析文章,大家可以一一阅读,后面也会对该部分进行一一的分析,感兴趣朋友可以关注github

 

github:https://github.com/WindXaa/Android-reverse


[招生]科锐逆向工程师培训46期预科班将于 2023年02月09日 正式开班

收藏
点赞4
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回