[发明专利]用于为软件加水印的系统和方法在审
申请号: | 201980053254.0 | 申请日: | 2019-08-05 |
公开(公告)号: | CN112513841A | 公开(公告)日: | 2021-03-16 |
发明(设计)人: | C·钱伯斯;P·A·埃森;R·杜兰;G·古德斯 | 申请(专利权)人: | 爱迪德技术有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/16 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 陈晓;吕传奇 |
地址: | 荷兰霍*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 软件 水印 系统 方法 | ||
1.一种由计算机实现的用于使能软件跟踪的系统,所述系统包括:
由机器可读指令配置的一个或多个硬件处理器,用于:
接收对应于计算机程序的标记输入代码;
标识标记输入代码的位置,其可以以保留计算机程序功能的方式被修改;
选择至少一个代码变换以应用于标记输入代码,所述至少一个代码变换中的每一个具有特定的固有常数;
从特定的固有常数将导出常数导出;
将所述至少一个代码变换,包括对应的导出常数注入到标记输入代码中;
将以上步骤的结果作为标记代码保存在计算机可读介质上;和
将包括计算机可读介质上的导出常数列表的元数据保存在与标记代码分离的文件中,其中元数据可以用于确定其他计算机程序代码是否是从标记代码导出的。
2.根据权利要求1所述的系统,其中标识、应用、导出和/或注入的功能是混淆过程的部分,所述混淆过程致使计算机程序在不对代码的功能产生不利影响的情况下更难理解。
3.根据权利要求1所述的系统,其中标识功能包括标识在标记输入代码中的数学计算并且应用功能包括修改数学计算中的数据表示和修改数学计算的操作。
4.根据权利要求3所述的系统,其中导出常数是标记的输入代码中的常数和固有常数的数学组合。
5.根据权利要求1所述的系统,其中导出常数被用作水印,并且元数据被用作至检测算法的输入,以确定其他计算机程序代码是否是从标记代码的至少一部分导出的。
6.根据权利要求5所述的系统,其中检测算法扫描其他计算机程序代码以用于指定百分比的导出常数的存在,在其他计算机程序代码的一部分内扫描标记代码的对应部分中的常数,扫描其他计算机程序代码以用于被标识为来自跨所有相似大小的组块的相同函数的导出常数,扫描其他计算机程序代码以用于距已经找到的导出常数一定距离内的导出常数,扫描其他计算机程序代码以用于具有特定属性的导出常数,和/或扫描其他计算机程序代码以用于与导出常数的最接近匹配。
7.根据权利要求1所述的系统,其中标记的输入代码是源代码、LLV位代码或二进制代码之一。
8.一种由计算机实现的用于使能软件跟踪的方法,所述方法包括:
接收对应于计算机程序的标记输入代码;
标识标记输入代码的位置,其可以以保留计算机程序功能的方式被修改;和
选择至少一个代码变换以应用于标记输入代码,所述至少一个代码变换中的每一个具有特定的固有常数;
从特定的固有常数将导出常数导出;
将至少一个代码变换,包括对应的导出常数的注入到标记输入代码中;
将以上步骤的结果作为标记代码保存在计算机可读介质上;和
将包括计算机可读介质上的导出常数列表的元数据保存在与标记代码分离的文件中,其中元数据可以用于确定其他计算机程序代码是否是从标记代码导出的。
9.根据权利要求8所述的方法,其中标识、应用、导出和/或注入的步骤是混淆过程的部分,所述混淆过程致使计算机程序在不对代码的功能产生不利影响的情况下更难理解。
10.根据权利要求8所述的方法,其中标识步骤包括标识标记输入代码中的数学计算并且应用步骤包括修改数学计算中的数据表示和修改数学计算的操作。
11.根据权利要求10所述的方法,其中导出常数是标记的输入代码中的常数和固有常数的数学组合。
12.根据权利要求8所述的方法,其中导出常数被用作水印,并且元数据被与检测算法一起使用,以确定其他计算机程序代码是否是从标记代码的至少一部分导出的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于爱迪德技术有限公司,未经爱迪德技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980053254.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:海藻酸中空微纤维
- 下一篇:用于检查安放在注射器上的针头的状态的方法和装置