在计算机领域,程序加壳是指在原始程序运行前,先执行一段“壳”程序,然后再把程序交还给原始程序。这样做的好处是,通过常规破解手段,无法轻易找到可执行程序的真正入口点(OEP),可有效防止破解源程序,保护重要信息数据。 壳加密又分为伪装壳、压缩壳等多种类型,虽然加壳方法的实现细节有所不同,但其核心加密原理都是不变,即在原始程序外建立一个单独的防护机制,因此他对于源程序不管做了压缩、加密还是地址打乱等操作,完整的源代码还是要被还原出来,这样才能正常运行。这就是壳加密的一个安全风险,因为壳加密是可以被众多脱壳软件绕过或剥离的。现在网络上有很多免费的脱壳软件,都可以轻松实现去壳操作,这样一来,通过加壳保护源程序就不明智了。 壳加密还有另外一个小缺点,就是兼容性问题。因为不同系统平台下可执行文件的差异导致对于加壳有不同的要求。比如:DOS下的可执行文件事宜.COM结尾的文件,且无文件头,缺省程序执行地址是0x100;win32平台的PE文件,不支持自装载,需要程序使用自己的方法来管理数据,所以标准很不统一就导致了壳加密的兼容性难题不易解决。 除了壳加密之外,现在市场比较流行的PC软件加密还有一种算法移植方案。基本原理是把可执行文件中的一部分代码功能移植到另一个安全硬件平台运行,保证原有程序代码不完整,这样做的好处是必须把现有程序和移植走的程序一同破解才能实现真正的破解。对这种加密方案来说,PC之外的安全硬件平台非常重要,最常见的就是算法移植加密狗,一般选用安全级别非常高的嵌入式安全芯片来完成移植代码的运行工作。因为安全芯片具有众多防破解机制,所以其内部运行的代码不能非法读出,只要移植的代码选取合理,能够很大限度的提升可执行软件的安全。 但这种软件加密方案也是有缺点的,它要求开发人员具备一定嵌入式编程能力,研发需要投入的时间也会较多。 上述两种加密方案,都有各自的优缺点,用户还需结合自己的实际需求和应用场景,选择合适的加密方案,如果用户更注重安全,那么算法移植方案的加密狗会更适合。
PC软件加密方案
原创
©著作权归作者所有:来自51CTO博客作者李阿淇的原创作品,请联系作者获取转载授权,否则将追究法律责任
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
软件加密狗方案
加密狗
加密狗 -
软件加密方法祥解
对目前一些较新的8种加密技术进行一下介绍。
职场 休闲 软件 加密 光盘 数据