发明名称 保护以软件为媒介的程序和装置性态的联锁系统和方法
摘要 一种用于使软件防逆向工程的方法。将计算表达式中的至少一个第一常量(数学表达式等)用第二数学和逐位布尔混合表达式替代,第一常量比第二表达式更简单,并且第二表达式基于在第一常量(或表达式)中得到的值或者变量。对第二数学和逐位布尔混合表达式的求值产生以下述两种方式之一保留了第一常量的值的值:或者,具有第一常量的原始值或者第一表达式的结果的原始值,在这种情况下第二数学和逐位布尔混合表达式是从第一常量通过用数学恒等式对第一常量进行转换而获得的;或者,以编码形式,作为新的值,该新的值可以通过应用信息保留解码函数转换回到第一常量的原始值,在这种情况下,第二数学和逐位布尔混合表达式是从第一常量通过用根据数学恒等式的转换和根据信息保留解码函数的变换的组合修改第一常量来获得的。
申请公布号 CN101622627B 申请公布日期 2012.05.09
申请号 CN200880006071.5 申请日期 2008.02.21
申请人 克劳克维尔公司 发明人 哈罗德·约瑟夫·约翰逊;顾元祥;周永新
分类号 G06F21/22(2006.01)I;G06F9/45(2006.01)I 主分类号 G06F21/22(2006.01)I
代理机构 北京三友知识产权代理有限公司 11127 代理人 李辉
主权项 一种用于使软件程序防逆向工程分析的改进方法,由此在以下应用中的任何一种应用中现有方法是基于对计算表达式或语句的替换、修改或编码的:要保护所述计算表达式或者语句本身;使用所述计算表达式或者语句来使得控制流模糊或者防篡改;使用所述计算表达式或者语句来使得数据寻址模糊或者防篡改;使用所述计算表达式或者语句使得对数据的大型本体的访问模糊或者防篡改;将所述计算表达式或者语句用于计算保护、控制流保护、数据‑寻址‑保护或者对访问数据的大型本体的保护的一些组合,所述改进方法包括以下步骤:将所述软件程序的这种计算表达式或者语句中的至少一个第一常量或第一表达式用第二数学表达式来替代,不管所述计算表达式或语句是源代码形式还是二进制代码形式,所述第一表达式是数学表达式、布尔表达式或者逐位布尔表达式,所述第二表达式是数学和逐位布尔混合表达式,所述第一常量或所述第一表达式比所述第二表达式更简单,并且所述第二表达式基于在所述第一常量或所述第一表达式中得出的值或者变量,其中,对所述第二表达式的求值产生以以下任何一种方式保留了所述第一常量或者所述第一表达式的值的值:具有所述第一常量的原始值或者所述第一表达式的结果的原始值,在这种情况下所述第二表达式是从所述第一常量或者所述第一表达式通过用数学恒等式转换所述第一常量或者所述第一表达式来获得的;和以编码形式,即,作为新的值,该新的值能够通过应用信息保留解码函数转换回所述第一常量或所述第一表达式的原始的所述值,在这种情况下,所述第二表达式是从所述第一常量或所述第一表达式通过用以下二者的组合来修改所述第一常量或所述第一表达式而获得的:根据数学恒等式的转换和根据与所述信息保留解码函数相对应的信息保留编码函数的变换,其中,在源代码中的所述至少一个第一常量或第一表达式包括产生了值为向量的结果的表达式,其常量或变量包括值为向量的一个或多个变量,并且其中,所述第二表达式的值以编码形式保留了源代码中所述至少一个第一常量或第一表达式的值,其中,通过计算所述第一常量或所述第一表达式的结果的函数获得在所述编码形式中应用的编码,所述函数为通过包括以下步骤的方法构造的深度非线性函数f:(a)选择数n,u和v,使得n=u+v,其中,u和v为非零正整数;(b)选择有限域,其分别为有限域GF(2n)、GF(2u)和GF(2v)的具体表示N、U和V;(c)选择p和q,使得q不小于p并且p和q各不小于3;(d)随机选择1对1线性函数L:Up→Uq和G0,G1,...,Gk‑1:Vp→Vq,其中,p、q和k各至少为2,并且k为2的幂且k不大于2u;(e)随机选择线性函数z:Up→U,并通过逐位布尔运算选择z的输出的低阶m个位而从z获得函数s:Up→{0,1,...,k‑1},其中,k=2m;或者,直接选择随机映成函数s:Up→{0,1,...,k‑1};(f)根据上面构造的要素建立函数f,其中,f:Np→Nq是通过下述计算出的:所述函数f的所有输出向量元素的最左u位是通过将L应用于向量P计算出的,并且所述函数f的所有输出向量元素的最右v位是通过将Gs(P)应用于向量Q计算出的,使得在整个输出上由L(P)提供的输出位与Gs(P)(Q)提供的输出位交错,所述向量P是通过仅取所述函数f的输入向量元素的最左u位获得的,所述向量Q通过仅取所述函数f的输入向量元素的最右v位获得的;以及(g)通过下述测试f:列举f的一个接一个的投影的发生频率以确定f是否是深度非线性的,如果不是,则重复上述构造直到获得深度非线性函数f为止。
地址 加拿大安大略