基于函数加密的软件保护方法技术

技术编号:2865271 阅读:229 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及计算机应用技术领域,防止软件被破解,特别是一种基于函数加密的软件保护方法。包括步骤:首先选定被加密的文件,摘要函数,加密函数,加密函数的初始化常数,加密函数所在的库文件。使用摘要函数生成被保护文件的摘要;根据摘要生成包含加密函数的初始化常数的矩阵;修改加密函数,使用摘要和矩阵对其初始化;重新编译加密函数所在的库文件,使用编译后的库文件替换原来的库文件,即完成对可执行文件的保护。本发明专利技术给计算机软件的可执行文件提供了抗破解能力。本发明专利技术加密后的函数不需要还原出加密函数就可以执行,使得破解者无法得到加密函数,也就无法进行破解。(*该技术在2024年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及计算机应用
,在计算机应用中软件的保护,防止软件被破解,特别是。
技术介绍
计算机软件的重要性越来越得到的全社会的认可,如何防止软件不被破解是保护计算机软件不被盗版的关键技术。虽然发布的软件大多是二进制格式的可执行文件,但许许多多的反编译工具如W32Dasm,IDA Pro等可以把这些二进制文件反编译成为汇编程序,使得一个具有一定计算机基础的人可以对可执行文件进行修改。功能强大的SoftICE调试器的出现使得人们可以对程序运行的整个过程进行跟踪,并随意设置断点进行调试。目前常用的软件保护方法有序列号保护,警告窗口,时间限制,菜单功能限制,钥匙文件保护等等,这些方法大都可以通过在反编译后的汇编代码中寻找相应条件跳转语句,然后把条件跳转改成无条件跳转即可解除软件保护。更难以破解一些的保护方法主要包括反跟踪技术和加壳技术。其中反跟踪技术通过在程序代码中加入一些特殊的指令(称之为花指令),使得反编译工具无法正确的对二进制文件进行反编译。加壳技术是对可执行文件进行变换,变换之后的文件无法进行反编译。这两种技术虽然能够防止简单的修改跳转指令的方法,但是他们仍然有着明显的缺陷本文档来自技高网...

【技术保护点】
一种基于函数加密的软件保护方法,包括步骤:    ●选定被保护的文件,摘要函数,加密函数,加密函数的初始化常数,加密函数所在的库文件;    ●使用摘要函数生成被保护文件的摘要;    ●根据摘要生成包含加密函数的初始化常数的矩阵;    ●修改加密函数,使用摘要和矩阵进行初始化;    ●重新编译加密函数所在的库文件,使用编译后的库文件替换原来的库文件,即完成对可执行文件的保护。

【技术特征摘要】
1.一种基于函数加密的软件保护方法,包括步骤● 选定被保护的文件,摘要函数,加密函数,加密函数的初始化常数,加密函数所在的库文件;● 使用摘要函数生成被保护文件的摘要;● 根据摘要生成包含加密函数的初始化常数的矩阵;● 修改加密函数,使用摘要和矩阵进行初始化;● 重新编译加密函数所在的库文件,使用编译后的库文件替换原来的库文件,即完成对可执行文件的保护。2.根据权利要求1所述的方法,其特征在于,加密函数不在可执行文件中。3.根据权利要求1所述的方法,其特征在于,使用修改加密函数的初始化赋值语句的方法对函数进行加密。4.根据权利要求1所述的方法,其特征在于,加密函数的初始化常量隐藏在一个由随机数构成的矩阵中。5.根据权利要求1所述的方法,其特征在于,使用可执行文件的摘要从矩阵中还原出初始化常量。6.根据权利要求1所述的方法,其特征在于,加密后的函数本身也是可执行的。7.根据权利要求1所述的方法,...

【专利技术属性】
技术研发人员:吴起毕经平
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1