详谈APP移动端 - 加壳与脱壳

目前针对移动应用市场上安卓APP被破解、反编译、盗版丛生的现象,很多APP开发人员已经意识到保护APP的重要性。而对于移动应用APP加密保护的问题,如何对DEX文件加密尤为重要。

简介

加壳是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。是应用加固的一种手法对原始二进制原文进行加密/隐藏/混淆。

作用:加壳的程序可以有效阻止对程序的反汇编分析,常用来保护软件版权,防止被软件破解。

APP加壳软件:apkprotect,梆梆加固,爱加密,娜迦,阿里,百度,腾讯,360等

 

Android Dex文件加壳原理

下面是Android加壳的原理:

在这个过程中,牵扯到三个角色:

1、需要加密的Apk(源Apk)

2、壳程序Apk(负责解密Apk工作)

3、加密工具(将源Apk进行加密和壳Dex合并成新的Dex)

 

主要步骤:

1、拿到需要加密的Apk和自己的壳程序Apk

2、用加密算法对源Apk进行加密在将壳Apk进行合并得到新的Dex文件

3、替换壳程序中的dex文件即可,得到新的Apk,

那么这个新的Apk我们也叫作脱壳程序Apk.他已经不是一个完整意义上的Apk程序了,他的主要工作是:负责解密源Apk.然后加载Apk,让其正常运行起来。
 

在这个过程中我们可能需要了解的一个知识是:如何将源Apk和壳Apk进行合并成新的Dex

优点:  1、保护自己核心代码算法,提高破解/盗版/二次打包的难度  

       2、还可以缓解代码注入/动态调试/内存注入攻击.

缺点: 1、影响兼容性     2、影响程序运行效率.

 

具体脱壳项目可查看:https://blog.csdn.net/weixin_42277380/article/details/97146910

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值