扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
编者按:提起软件加密对于软件企业来说至关重要,“软件加密”这个词对于大多数人来说是及陌生又神秘。出于这种神秘感,在实施软件加密的时候很少有人能够像分析软件工程一样对软件加密进行系统的、全面的分析,对软件加密方案的薄弱环节进行总结,对加密方案进行周密的策划。
当然介绍相关内容的文章也是非常 “罕见”,即使在网上也是很难见到,大部分都是介绍软件破解的内容。
本文虽然没有提到具体的程序代码和具体的加密产品,但从软件加密的决定因素和软件加密常见的错误观念入,手对软件加密方案的规划方法进行了全面的介绍。可以说本文是飞天诚信多年以来从事软件加密行业的经验之谈,希望本文对目前从事软件加密的相关人员能够有一定的帮助。
一、 软件加密之决定因素
很多开发商认为软件加密就是保护软件不被拷贝就行了,在做加密的时候,最终加密开发者很少或从来没有对如何加密进行规划,从而导致这样做出来的加密方案存在一定的弊端或不足。在这里,我们根据多年来的软件加密经验,总结了以下与软件加密相关的一些因素,供大家参考。
1、开发环境
开发环境在很大程度上会影响你对加密方式的选择。开发环境一方面包括你用来开发的语言环境,另一方面也包括了软件运行的系统环境。
如果是在 Windows 平台上面运行的软件,能够选择的加密方式会比较多,但如果是在 Linux 或其它操作系统下,可供选择的加密方式就会少得多。对于那些需要编织跨平台应用产品的开发商来说,如果希望能够保持加密上的兼容性,就必须谨慎的选择他所需要的加密产品。
2、软件类型
软件类型的分类方法有很多种,对加密而言比较看重的是通用软件和专用软件分类。因维护代价的不同,所能采取的加密方式也不同。对于通用类型的软件来说,因为用户群是海量的,即使在加密上出现一点点小问题都可能带来海量的维护性工作,对于这种类型软件的加密,可靠性是第一位的。
3、加密强度
加密强度是一个相对性的概念,软件保护并非越强越好。软件加密强度是以开发时间和运行效率为代价的,要选择能够满足要求的加密方式。
对于那些受盗版侵害比较大的成熟软件来说,希望有更好的软件保护技术来保护自己的权益。但对于那些未经市场检验的新软件来说,投入太多精力在提高加密强度上会让用户有本末倒置的感觉。
4、生命周期
软件保护是否合适的检查标准应当以软件的生命周期来衡量。一味的追求高强度、不可破解的保护是得不偿失的。我们的标准是,如果一个软件能够在其所期望的生命周期内不被破解或不被完全破解,那么这个加密就是成功的。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者