[发明专利]生成和执行受保护的软件项目有效
申请号: | 201480083471.1 | 申请日: | 2014-09-17 |
公开(公告)号: | CN106922191B | 公开(公告)日: | 2021-06-18 |
发明(设计)人: | R.克尔滕 | 申请(专利权)人: | 爱迪德技术有限公司 |
主分类号: | G06F21/54 | 分类号: | G06F21/54 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 张健;蒋骏 |
地址: | 荷兰霍*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 执行 保护 软件 项目 | ||
1.一种生成受保护的软件项目的方法,存在用于受保护的软件项目的代码内的执行路径,所述执行路径使得在执行用于第一函数的代码之前执行用于一个或多个第二函数的代码,其中用于所述一个或多个第二函数的代码的执行使得在一个或多个存储器位置处存储数据,所述数据满足一个或多个预定属性的集合,其中在执行用于受保护的软件项目的代码时对受保护的软件项目的攻击缺失的情况下,第一函数被布置成提供第一功能性,所述方法包括:
配置用于第一函数的代码,使得通过一个或多个处理器对用于第一函数的代码的执行仅在以下情况下提供第一功能性:在执行第一函数时存储在所述一个或多个存储器位置处的数据满足一个或多个预定属性的集合,
其中以下条件中的一个或多个适用:
a)所述配置被布置成使得通过所述一个或多个处理器对用于第一函数的代码的执行在以下情况下提供与第一功能性不同的第二预定功能性:在执行第一函数时存储在所述一个或多个存储器位置处的数据没有满足一个或多个预定属性的集合;
b)在执行第一函数时存储在所述一个或多个存储器位置处的数据满足所述一个或多个预定属性指示已经以预定次序调用所述一个或多个第二函数和第一函数;
c)通过用于所述一个或多个第二函数的代码的执行而存储的数据包括一个或多个预定值;以及
d)通过用于所述一个或多个第二函数的代码的执行而存储的数据包括一个或多个值,所述一个或多个值是至少部分地通过在执行所述一个或多个第二函数中的至少一个时执行的计算来确定的。
2.如权利要求1所述的方法,其中所述配置包括作为用于第一函数的代码的一部分而包括代码部分,所述代码部分在由所述一个或多个处理器执行时使所述一个或多个处理器:
确定在执行第一函数时存储在所述一个或多个存储器位置处的数据是否满足一个或多个预定属性的集合;以及
如果确定一个或多个预定属性的集合没有得到满足,则提供与第一功能性不同的第二预定功能性。
3.如权利要求2所述的方法,其中所述代码部分作为用于第一函数的代码的一部分而被包括在用于第一函数的代码中的返回点附近。
4.如权利要求2所述的方法,其中所述代码部分作为用于第一函数的代码的一部分而被包括在用于第一函数的代码的开头附近。
5.如权利要求1所述的方法,其中第二预定功能性独立于在执行第一函数时存储在所述一个或多个存储器位置处的数据。
6.如权利要求1所述的方法,包括接收初始软件项目,其中用于初始软件项目的代码包括用于第一函数的初始代码,其中所述配置包括修改用于第一函数的初始代码以便针对受保护的软件项目而生成用于第一函数的代码。
7.如权利要求6所述的方法,其中用于初始软件项目的代码包括用于所述一个或多个第二函数中的至少一个的初始代码,其中所述方法包括修改用于所述一个或多个第二函数中的所述至少一个的初始代码,以便针对受保护的软件项目而生成用于所述一个或多个第二函数中的至少一个的代码。
8.如权利要求1所述的方法,进一步包括:
作为受保护的软件项目的一部分而包括第一代码部分,其中第一代码部分的至少部分对于攻击者有用以用于执行对受保护的软件项目的预定类型的攻击;以及
作为受保护的软件项目的一部分而包括第二代码部分,其中第二代码部分在受保护的软件项目的运行时处使得能够修改第一代码部分的至少部分。
9.如权利要求8所述的方法,其中第一代码部分作为受保护的软件项目的一部分而被包括,使得从不在执行受保护的软件项目时执行第一代码部分的至少部分。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于爱迪德技术有限公司,未经爱迪德技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480083471.1/1.html,转载请声明来源钻瓜专利网。