前针对移动应用市场上安卓APP被破解、反编译、盗版丛生的现象,不少APP开发人员已经意识到保护APP的重要性。而对于移动应用APP加密保护的问题,如何对DEX文件加密尤其重要。python
加壳是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,作一些额外的工做。大多数病毒就是基于此原理。是应用加固的一种手法对原始二进制原文进行加密/隐藏/混淆。
做用:加壳的程序能够有效阻止对程序的反汇编分析,经常使用来保护软件版权,防止被软件破解。
APP加壳软件:apkprotect,梆梆加固,爱加密,娜迦,阿里,百度,腾讯,360等
android
下面是Android加壳的原理:算法
在这个过程当中,牵扯到三个角色:
一、须要加密的Apk(源Apk)
二、壳程序Apk(负责解密Apk工做)
三、加密工具(将源Apk进行加密和壳Dex合并成新的Dex)
主要步骤:
一、拿到须要加密的Apk和本身的壳程序Apk
二、用加密算法对源Apk进行加密在将壳Apk进行合并获得新的Dex文件
三、替换壳程序中的dex文件便可,获得新的Apk,
那么这个新的Apk咱们也叫做脱壳程序Apk.他已经不是一个完整意义上的Apk程序了,他的主要工做是:负责解密源Apk.而后加载Apk,让其正常运行起来。
在这个过程当中咱们可能须要了解的一个知识是:如何将源Apk和壳Apk进行合并成新的Dexapp
优势: 一、保护本身核心代码算法,提升破解/盗版/二次打包的难度 二、还能够缓解代码注入/动态调试/内存注入攻击. 缺点: 一、影响兼容性 二、影响程序运行效率.
短视频、直播数据实时采集接口,请查看文档: TiToData工具
免责声明:本文档仅供学习与参考,请勿用于非法用途!不然一切后果自负。学习