-
-
Android加壳与脱壳(6)——各类加壳器和原理分析推荐
-
发表于: 2022-11-10 10:20 23348
-
为了方便编写Android加壳与脱壳系列的文章,今天收集整理了网络上实用的加壳器和分析文章,本文推荐的加壳器框架都进行了一一的复现,所以方便大家的学习。
我们纵观Android加固主要分为dex加壳和so加固,本文主要描述dex加壳的发展史
即总共可以包括:动态加载壳、不落地加载壳、函数抽取壳、dex2c壳、dex-vmp壳
五类加壳各自具有不同的特点,而技术难度也是逐步的增加,下面将给大家推荐网上开源的五类加壳器,方便大家的学习整理
加壳器:
这里原作者的项目好像删除了,可以使用这里我重新编译出来的框架
ea7K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6i4K9h3&6V1h3r3q4S2i4K6u0r3b7h3&6V1M7X3!0A6k6q4)9J5k6s2u0W2N6X3g2J5M7$3g2Q4x3V1k6@1M7X3g2W2i4K6u0r3L8h3q4A6L8W2)9J5c8V1q4F1k6s2u0G2K9h3c8Q4x3U0g2q4y4#2)9J5y4f1q4q4i4K6t1#2z5o6m8Q4x3U0g2q4y4W2)9J5y4e0V1^5i4K6t1#2z5e0y4Q4x3U0g2q4y4g2)9J5y4e0S2m8i4K6t1#2b7e0m8Q4x3U0g2q4y4g2)9J5y4f1p5K6i4K6t1#2b7U0y4Q4x3U0g2q4y4g2)9J5y4e0V1&6i4K6t1#2b7e0R3`.
分析文章:
826K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6E0M7q4)9J5k6i4N6W2K9i4S2A6L8W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3M7#2)9J5c8V1I4i4g2p5k6z5c8q4j5I4k6r3k6X3z5r3y4V1b7X3q4C8k6o6q4m8e0#2p5`.
动态加载壳比较简单,但缺点是容易将dex解密后释放在本地
加壳器:f56K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6r3M7X3g2*7M7X3W2C8i4K6u0r3d9X3W2S2k6%4f1`.
该作者实现了通用的不落地加载壳的加壳器,不落地加载主要是为了对抗前文的缺点,这里通过在Android8.0前后采用不同的方案进行实现
分析文章:
aa0K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1L8r3!0Y4i4K6u0W2j5%4y4V1L8W2)9J5k6h3&6W2N6q4)9J5c8Y4Z5&6y4K6t1J5i4K6u0r3j5i4u0@1K9h3y4D9k6g2)9J5c8X3c8W2N6r3q4A6L8s2y4Q4x3V1j5I4x3U0l9%4z5o6f1$3x3o6t1`.
更详细的分析文章关注公众号
加壳器:3a3K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6D9N6h3!0&6k6i4y4A6M7h3W2#2i4K6u0r3k6s2m8@1i4K6u0V1M7$3S2W2L8r3H3`.
函数抽取壳的粒度更细,可以对抗前面整体加壳的方式
分析文章:
https://bbs.pediy.com/thread-271139.htm
加壳器:ab6K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6S2L8h3W2E0L8#2)9J5c8X3c8U0j5H3`.`.
dex2c壳开始从java层向so层进行转换,主要通过反编译,然后通过C/C++将java层的代码翻译过来,这样特点是绑定在不同的函数地址上
分析文章:
暂时未看见不错的分析文章,后面团队会编写相关原理文章
加壳器:fa7K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6E0j5h3!0S2j5X3y4Q4x3V1k6F1L8h3#2H3
dex-vmp通过大量的jni接口反射将java代码反射到so层,然后在so层通过自定义的解释器去解释,特点是函数都注册在相同的地址上
分析文章:
https://bbs.pediy.com/thread-270799.htm
341K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6F1k6h3#2G2P5Y4q4I4P5W2)9J5k6h3N6A6N6r3S2#2j5W2)9J5k6h3W2G2i4K6u0r3x3U0l9J5x3W2)9J5c8U0l9$3i4K6u0r3x3e0g2Q4x3V1k6h3e0g2m8J5L8%4c8W2j5%4c8Q4x3X3c8S2L8X3c8Q4x3X3c8m8L8X3c8J5L8$3W2V1i4K6u0V1c8p5g2j5i4K6u0V1g2V1#2b7i4K6u0W2K9s2c8E0L8l9`.`.
本文收集总结了网络上开源且可以复现的加壳器框架和分析文章,这里帮助大家学习,论坛上面也存在很多不错的分析文章,大家可以一一阅读,后面也会对该部分进行一一的分析,感兴趣朋友可以关注github
github:9f7K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6i4K9h3&6V1h3r3q4S2i4K6u0r3b7h3&6V1M7X3!0A6k6q4)9J5k6s2u0W2N6X3g2J5M7$3f1`.