[发明专利]应用随机化在审
申请号: | 201280077350.7 | 申请日: | 2012-09-28 |
公开(公告)号: | CN104798075A | 公开(公告)日: | 2015-07-22 |
发明(设计)人: | B.Q.莫纳罕;K.哈里森 | 申请(专利权)人: | 惠普发展公司;有限责任合伙企业 |
主分类号: | G06F21/10 | 分类号: | G06F21/10;G06F9/30 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 马红梅;陈岚 |
地址: | 美国德*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 随机化 | ||
1.一种存储表示指令的代码的处理器可读介质,所述指令当在处理器处执行时使处理器:
访问应用的带注释的中间表示;
识别带注释的中间表示内的第一指令块;
随机选择用于第一指令块的第一修改;
识别带注释的中间表示内的第二指令块;
随机选择与第一修改不同的用于第二指令块的第二修改;以及
生成应用的本机代码表示,其中第一修改被应用于第一指令块并且第二修改被应用于第二指令块。
2.权利要求1的处理器可读介质,还包括表示下述指令的代码,该指令当在处理器处执行时使处理器:
访问应用的中间表示;
在中间表示上执行流分析以识别中间表示内的多个指令块,所述多个指令块包括第一指令块和第二指令块;以及
生成与所述多个指令块相关联的多个注释以定义应用的带注释的中间表示。
3.权利要求1的处理器可读介质,其中:
第一指令块表示子例程;并且
第一修改包括将子例程分解成多个子例程。
4.权利要求1的处理器可读介质,其中:
第一修改包括重布置应用的中间表示内的指令;并且
第二修改包括在应用的中间表示内添加指令。
5.权利要求1的处理器可读介质,还包括表示下述指令的代码,该指令当在处理器处执行时使处理器:
记录用于随机选择第一修改和随机选择第二修改的随机化种子。
6.权利要求1的处理器可读介质,还包括表示下述指令的代码,该指令当在处理器处执行时使处理器:
在修改日志处记录第一修改;以及
在修改日志处记录第二修改。
7.权利要求1的处理器可读介质,其中应用的本机代码表示是应用的第一本机代码表示,并且随机选择第一修改和随机选择第二修改响应于第一实例化信号,处理器可读介质还包括表示下述指令的代码,该指令当在处理器处执行时使处理器:
响应于第二实例化信号随机选择用于第一指令块的第三修改,第三修改不同于第一修改;
响应于第二实例化信号随机选择用于第二指令块的与第二修改不同的第四修改;以及
生成应用的第二本机代码表示,其中第三修改被应用于第一指令块并且第四修改被应用于第二指令块。
8.一种存储表示指令的代码的处理器可读介质,所述指令当在处理器处执行时使处理器:
接收与应用相关联的第一实例化信号;
识别应用的带注释的中间表示内的多个指令块;
响应于第一实例化信号,随机选择用于所述多个指令块中的每一个指令块的第一修改;
生成应用的第一本机代码表示,其中用于每一个指令块的第一修改被应用于该指令块;
接收与应用相关联的第二实例化信号;
响应于第二实例化信号,随机选择用于所述多个指令块中的每一个指令块的第二修改;
生成应用的第二本机代码表示,其中用于每一个指令块的第二修改被应用于该指令块,应用的第二本机代码表示不同于应用的第一本机代码表示。
9.权利要求8的处理器可读介质,还包括表示下述指令的代码,该指令当在处理器处执行时使处理器:
记录用于随机选择用于所述多个指令块中的每一个指令块的第一修改和第二修改的随机化种子。
10.权利要求8的处理器可读介质,还包括表示下述指令的代码,该指令当在处理器处执行时使处理器:
在修改日志处记录用于所述多个指令块中的每一个指令块的第一修改;以及
在修改日志处记录用于所述多个指令块中的每一个指令块的第二修改.
12.权利要求8的处理器可读介质,还包括表示下述指令的代码,该指令当在处理器处执行时使处理器:
访问应用的中间表示;
在中间表示上执行流分析以识别中间表示内的所述多个指令块;以及
生成与所述多个指令块相关联的多个注释以定义应用的带注释的中间表示.
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠普发展公司;有限责任合伙企业,未经惠普发展公司;有限责任合伙企业许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280077350.7/1.html,转载请声明来源钻瓜专利网。