美文网首页技术文章互联网科技程序员
什么是App加壳,以及App加壳的利与弊

什么是App加壳,以及App加壳的利与弊

作者: 非著名程序员 | 来源:发表于2015-08-05 12:26 被阅读3663次

目前针对移动应用市场上安卓APP被破解、反编译、盗版丛生的现象,很多APP开发人员已经意识到保护APP的重要性。而对于移动应用APP加密保护的问题,如何对DEX文件加密尤为重要。那么接下来,我们就先介绍一下什么是App加壳和加壳的原理,利与弊等。

一、什么是加壳?

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

二、加壳作用

加壳的程序可以有效阻止对程序的反汇编分析,以达到它不可告人的目的。这种技术也常用来保护软件版权,防止被软件破解。

三、Android Dex文件加壳原理

Android Dex文件大量使用引用给加壳带来了一定的难度,但是从理论上讲,Android APK加壳也是可行的。

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

1、加壳程序:加密源程序为解壳数据、组装解壳程序和解壳数据

2、解壳程序:解密解壳数据,并运行时通过DexClassLoader动态加载

3、源程序:需要加壳处理的被保护代码

四、加壳的利与弊

* 优势:

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

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

* 劣势:

①、影响兼容性

②、影响程序运行效率.

加壳的技术和原理已经介绍了,那么接下来我们再介绍一下什么样的应用需要加密呢?金融软件/病毒木马/游戏等敏感度高的应用需要加密,其他的看自己的需要,个人认为简单的,不是很重要的应用没必要加密,毕竟道高一尺,魔高一丈,只要想脱,总能有办法。

Android 上的加壳技术发展至今也不过三年,而 PC 端的加壳技术已经有十多年的发展。我们相信它能发展的更好,攻防是动态的对抗,技术一直在进步,反正技术的趋势肯定是做攻的,攻破后都认为守的不行,此消彼长,后面又加强又不好搞了。

目前市面上有很多第三方加壳的平台, 如果应用需要加壳选哪一种好?免费版强度都很一般,建议自己测试下商业版的兼容性然后再选择,接触到的壳有apkprotect,梆梆加固,爱加密,娜迦,阿里,百度,腾讯,360等。用户根据自己的需要可以选择一种试试。

公众号“非著名程序员”,每天一篇原创技术分享和移动互联网知识分享,微信公众号:smart_android ,欢迎大家关注。

相关文章

  • 什么是App加壳,以及App加壳的利与弊

    目前针对移动应用市场上安卓APP被破解、反编译、盗版丛生的现象,很多APP开发人员已经意识到保护APP的重要性。而...

  • iOS脱壳

    加壳 App Store会对ipa包进行加壳操作。 加壳:利用特殊的算法,对可执行文件的编码进行改变(比如压缩、加...

  • App加壳之旅

    前段时间博主去面试的时候,被问到了app安全加固的问题,博主工作2年多,一直在外包公司,对加固这个概念并不熟悉,仅...

  • iOS逆向:脱壳

    目录一,加壳二,脱壳三,工具四,验证 一,加壳 1,介绍 App Store会对ipa包中的可执行文件进行加壳操作...

  • 脱壳

    为什么需要脱壳?是因为我们在上传app到苹果商店的时候AppStore已经是帮我们加壳的了,如下图: 什么又是加壳...

  • iOS逆向之旅(越狱篇) — 砸壳

    小小科普 壳是什么鬼 我们把自己的App提交到App Store后,苹果会帮我们加一层保护壳,有了这个壳的存在,我...

  • iOS逆向-砸壳上(ⅩI)

    软件脱壳,顾名思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密)。 砸壳原理 应用加壳(加密)提交给App...

  • iOS逆向实战--029:应用砸壳

    软件脱壳,顾名思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密)。 砸壳原理 应用加壳(加密)提交给App...

  • 17、应用砸壳

    -- 顾名思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密)。 应用加壳(加密)提交给App Store发...

  • 去除未加固 Android App强制升级实战

    去除一个未加固APP的升级提示弹窗,我们先看看app 是否进行加壳,发现使用的是邦邦免费加壳 我们在测试机上安装这...

网友评论

本文标题:什么是App加壳,以及App加壳的利与弊

本文链接:https://www.haomeiwen.com/subject/eubvqttx.html