dg336699的个人空间 https://www.eechina.com/space-uid-141150.html [收藏] [复制] [RSS]

博客

PC软件加密方案

热度 11已有 1423 次阅读2018-9-4 16:59

在计算机领域,程序加壳是指在原始程序运行前,先执行一段“壳”程序,然后再把程序交还给原始程序。这样做的好处是,通过常规破解手段,无法轻易找到可执行程序的真正入口点(OEP),可有效防止破解源程序,保护重要信息数据。

壳加密又分为伪装壳、压缩壳等多种类型,虽然加壳方法的实现细节有所不同,但其核心加密原理都是不变,即在原始程序外建立一个单独的防护机制,因此他对于源程序不管做了压缩、加密还是地址打乱等操作,完整的源代码还是要被还原出来,这样才能正常运行。这就是壳加密的一个安全风险,因为壳加密是可以被众多脱壳软件绕过或剥离的。现在网络上有很多免费的脱壳软件,都可以轻松实现去壳操作,这样一来,通过加壳保护源程序就不明智了。

壳加密还有另外一个小缺点,就是兼容性问题。因为不同系统平台下可执行文件的差异导致对于加壳有不同的要求。比如:DOS下的可执行文件事宜.COM结尾的文件,且无文件头,缺省程序执行地址是0x100win32平台的PE文件,不支持自装载,需要程序使用自己的方法来管理数据,所以标准很不统一就导致了壳加密的兼容性难题不易解决。

除了壳加密之外,现在市场比较流行的PC软件加密还有一种算法移植方案。基本原理是把可执行文件中的一部分代码功能移植到另一个安全硬件平台运行,保证原有程序代码不完整,这样做的好处是必须把现有程序和移植走的程序一同破解才能实现真正的破解。对这种加密方案来说,PC之外的安全硬件平台非常重要,最常见的就是算法移植加密狗,一般选用安全级别非常高的嵌入式安全芯片来完成移植代码的运行工作。因为安全芯片具有众多防破解机制,所以其内部运行的代码不能非法读出,只要移植的代码选取合理,能够很大限度的提升可执行软件的安全。

但这种软件加密方案也是有缺点的,它要求开发人员具备一定嵌入式编程能力,研发需要投入的时间也会较多

上述两种加密方案,都有各自的优缺点,用户还需结合自己的实际需求和应用场景,选择合适的加密方案,如果用户更注重安全,那么算法移植方案的加密狗会更适合


路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (26 个评论)

回复 wang0327 2018-9-11 10:19
把算法移植到专门的安全芯片中,是不是意味着需要做硬件开发呢?
回复 QL87 2018-9-11 16:32
wang0327: 把算法移植到专门的安全芯片中,是不是意味着需要做硬件开发呢?
肯定的,加密芯片也是要电路的啊。
回复 tyl20100 2018-9-11 16:55
QL87: 肯定的,加密芯片也是要电路的啊。
总不能在pc上改电路吧,文章中说的加密狗,不需要硬件开发
回复 Test_wf 2018-9-11 20:26
现在拆壳软件太多了,加壳越来越不好用了。
回复 ?-о 2018-9-11 20:44
既然选择加密,当然安全最重要
回复 Mr.Wang 2018-9-12 13:23
采用算法移植方案+高安全等级加密芯片,对用户产品绝对是有安全保障的
12

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部