[发明专利]程序混淆装置无效
申请号: | 200780011709.X | 申请日: | 2007-02-06 |
公开(公告)号: | CN101416197A | 公开(公告)日: | 2009-04-22 |
发明(设计)人: | 佐藤太一;浅井理惠子;K·A·尼克尔森 | 申请(专利权)人: | 松下电器产业株式会社 |
主分类号: | G06F21/22 | 分类号: | G06F21/22 |
代理公司: | 永新专利商标代理有限公司 | 代理人: | 杨 谦;胡建新 |
地址: | 日本*** | 国省代码: | 日本;JP |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 混淆 装置 | ||
1.一种程序混淆装置,根据由多个块构成的对象程序生成混淆程序,其特征在于,
上述块是如下命令组,该命令组由具有顺序的多个命令构成,除最初的命令以外执行控制不从其它块转移,除最后的命令以外执行控制不转移到其它块;
上述程序混淆装置具有:
属性确定单元,对块中的执行控制的入口和出口分别确定属性,进行该确定,使得处于执行控制从一个块的出口转移到其他块的入口的关系中的该出口和该入口成为相同的属性;以及
生成单元,对1个或多个块附加进行与该块的入口或出口的属性相对应的处理的1个或多个命令,生成混淆程序。
2.根据权利要求1所述的程序混淆装置,其特征在于,
上述对象程序包括秘密信息,
上述程序混淆装置还具有块确定单元,该块确定单元确定包含从上述对象程序根据特定变量的值求出上述秘密信息的命令在内的块,作为秘密块;
1个或多个特定变量和1个或多个其值分别与上述属性相对应,
上述生成单元对执行控制转移到上述秘密块的块,附加使特定变量成为与该块的出口属性相对应的值的1个或多个命令,生成混淆程序。
3.根据权利要求2所述的程序混淆装置,其特征在于,
在执行控制转移到上述秘密块的块存在多个的情况下,上述生成单元对全部该块附加使特定变量成为与该块的出口属性相对应的值的1个或多个命令,生成混淆程序。
4.根据权利要求2所述的程序混淆装置,其特征在于,
上述生成单元还对可在上述秘密块之前执行的块附加1个或多个命令,生成混淆程序,该1个或多个命令使特定变量从与该块的入口属性相对应的特定变量的值成为与该块的出口属性相对应的值。
5.根据权利要求2所述的程序混淆装置,其特征在于,
上述程序混淆装置还具有变量追加单元,该变量追加单元追加上述对象程序中不包含的变量,
上述特定变量是由上述变量追加单元追加的变量。
6.根据权利要求2所述的程序混淆装置,其特征在于,
存在多个与块的入口或出口的属性相对应的特定变量的值,
上述生成单元附加使特定变量从与块的入口属性相对应的特定变量的某个值成为与该块的出口属性相对应的某个值的1个或多个命令。
7.根据权利要求2所述的程序混淆装置,其特征在于,
存在多个上述特定变量,
上述生成单元对一个块附加按照该块的出口属性替换特定变量中的1个特定变量的值和其它特定变量的值的命令,
对执行控制从上述一个块的出口转移的其他块,按照该块的入口属性,附加替换上述特定变量的值和上述其它特定变量的值的命令,生成混淆程序。
8.根据权利要求2所述的程序混淆装置,其特征在于,
预定运算分别与上述属性相对应,
上述生成单元对一个块附加如下命令,该命令使得对特定变量的值实施了与该块的出口属性相对应的预定运算后的结果值成为该特定变量的值,
上述生成单元对执行控制从上述一个块的出口转移的其他块附加如下命令,生成混淆程序,该命令使得对该特定变量的值实施了与该块的入口属性相对应的预定运算的逆运算后的结果值成为该特定变量的值。
9.根据权利要求1所述的程序混淆装置,其特征在于,
多个特定变量的值的替换分别与上述属性相对应,
上述生成单元对一个块附加进行如下处理的命令,该处理是按照该块的出口属性替换特定变量中的1个特定变量的值和其它特定变量的值的处理,
上述生成单元对执行控制从上述一个块的出口转移的其他块附加进行如下处理的命令,生成混淆程序,该处理是按照该块的入口属性替换上述特定变量的值和上述其它特定变量的值的处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于松下电器产业株式会社,未经松下电器产业株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200780011709.X/1.html,转载请声明来源钻瓜专利网。