zoukankan      html  css  js  c++  java
  • 什么是App加壳,以及App加壳的利与弊

    非著名程序猿涩郎

    非著名程序员,字耿左直右,号涩郎,爱搞机,爱编程,是爬行在移动互联网中的一名码匠!个人微信号:loonggg,微博:涩郎,专注于移动互联网的开发和研究,本号致力于分享IT技术和程序员工作心得体会。

    欢迎大家关注与转载。





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



    非著名程序猿


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

    一、什么是加壳?

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

    二、加壳作用

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

    三、Android Dex文件加壳原理

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

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

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

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

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

    四、加壳的利与弊

    * 优势:

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

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

    * 劣势:

    ①、影响兼容性

    ②、影响程序执行效率.

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

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

    眼下市面上有非常多第三方加壳的平台, 假设应用须要加壳选哪一种好?免费版强度都非常一般。建议自己測试下商业版的兼容性然后再选择。接触到的壳有apkprotect,梆梆加固,爱加密,娜迦。阿里,百度,腾讯,360等。用户依据自己的须要能够选择一种试试。





    微信号:smart_android (←长按复制)

    介绍:非著名程序猿。字耿左直右。号涩郎。爱搞机,爱编程,是爬行在移动互联网中的一名码匠!

    个人微信号:loonggg

    微博:涩郎

    QQ群:413589216 更能资料和源代码尽在QQ群文件

    今日头条:搜索“非著名程序猿”订阅很多其它信息

    工作:专注于移动互联网的开发和研究。本号致力于分享IT技术和程序员工作心得体会。欢迎大家关注与转载。


  • 相关阅读:
    Eclipse_debug异常_Source not found
    Mybatis异常_01_Invalid bound statement (not found)
    [转]Eclipse快捷键_01_常用快捷键汇总
    PL/SQL学习笔记_03_存储函数与存储过程
    PL/SQL学习笔记_02_游标
    PL/SQL学习笔记_01_基础:变量、流程控制
    Oracle学习笔记_05_分组函数
    博客园_01_为博客园添加目录的方法总结
    Oracle学习笔记_04_多表查询
    Oracle学习笔记_03_单行函数
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/6871723.html
Copyright © 2011-2022 走看看