[发明专利]一种探测JAVA 程序文件扰动的方法及装置有效
申请号: | 201210004813.9 | 申请日: | 2012-01-09 |
公开(公告)号: | CN103198011A | 公开(公告)日: | 2013-07-10 |
发明(设计)人: | 马治国;何思远 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 探测 java 程序 文件 扰动 方法 装置 | ||
1.一种探测JAVA程序文件扰动的方法,其特征在于,该方法包括:
在第一程序文件运行过程中,根据运行过的每个类和每个类中包括的方法得到每个类的第一类标签以及每个类包括的方法的第一方法标签;
所述第一程序文件源代码发生变化生成第二程序文件后,扫描第二程序文件的java字节码文件确定所述第二程序文件中包括类及每个类所包括的方法,并根据每个类和每个方法的内容信息确定每个类的第二类标签以及每个类包括的每个方法的第二方法标签,将所述第二类标签和第二方法标签插装到所述java字节码文件;
将java字节码文件中的第二类标签和第二方法标签与所述第一类标签和第一方法标签进行比较,根据比较结果确定第二程序文件相对于第一程序文件发生了扰动的类和方法。
2.如权利要求1所述的方法,其特征在于,在第一程序文件运行过程中,根据运行过的每个类和每个类中包括的方法得到每个类的第一类标签以及每个类包括的方法的第一方法标签,之后该方法还包括:
根据每个方法的内容信息计算得到每个方法对应的第一方法标签后,获取所述第一方法标签对应的常量池中的常数,并根据所属常数确定每个第一方法标签对应的方法。
3.如权利要求1所述的方法,其特征在于,将所述第二方法标签插装到所述java字节码文件包括:
扫描java字节码文件中的每个类,根据每个类中每个方法对应的内容信息生成与每个方法对应的第二方法标签;
将每个类生成的多个第二方法标签存入对应的数组中,并将所述数组写入第二程序文件的java字节码文件。
4.如权利要求1所述的方法,其特征在于,将java字节码文件中的第二类标签和第二方法标签与所述第一类标签和第一方法标签进行比较,根据比较结果确定第二程序中相对于第一程序文件发生了扰动的类和方法包括:
将所述第一类标签与对应的第二类标签进行比较,如果检测到任一第一类标签与对应的第二类标签不相同,则确定不相同的第一类标签对应的类发生了扰动;
将不相同的第二类标签对应的第二方法标签与第一类标签对应的第一方法标签进行比较;如果检测到任一第二方法标签与对应的第一方法标签不相同,则确定不相同的第一方法标签对应的方法发生了扰动;
根据类和方法扰动方式对所述类和方法的源代码进行处理。
5.如权利要求4所述的方法,其特征在于,所述根据类和方法扰动方式对所述类和方法的源代码进行处理包括:
如果没有检测到与任一第一方法标签对应的第二方法标签,则将所述任一第二方法标签对应的类及API信息保存到设定地址;
如果任一第一方法标签与对应的第二方法标签不相同,则所述任一第二方法标签对应的类及API信息保存到设定地址;
如果任一第一方法标签与对应的方法标签相同,则将第一方法标签对应方法对应的覆盖率信息数据复制到当前数组中。
6.一种探测JAVA程序文件扰动的装置,其特征在于,该装置包括:
动态标签获取模块,用于在第一程序文件运行过程中,根据运行过的每个类和每个类中包括的方法得到每个类的第一类标签以及每个类包括的方法的第一方法标签;
静态标签获取模块,用于所述程序文件源代码发生变化生成第二程序文件后,扫描第二程序文件的java字节码文件确定所述第二程序文件中包括类及每个类所包括的方法,并根据每个类和每个方法的内容信息确定每个类的第二类标签以及每个类包括的每个方法的第二方法标签,将所述第二类标签和第二方法标签插装到所述java字节码文件;
扰动确定模块,用于将java字节码文件中的第二类标签和第二方法标签与所述第一类标签和第一方法标签进行比较,根据比较结果确定第二程序文件相对于第一程序文件发生了扰动的类和方法。
7.如权利要求6所述的装置,其特征在于,所述静态标签获取模块还用于扫描java字节码文件中的每个类,根据每个类中每个方法对应的内容信息生成与每个方法对应的第二方法标签;将每个类生成的多个第二方法标签存入对应的数组中,并将所述数组写入第二程序文件的java字节码文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210004813.9/1.html,转载请声明来源钻瓜专利网。