[发明专利]一种JAVA卡字节码引用访问测试方法在审
申请号: | 201611074995.1 | 申请日: | 2016-11-30 |
公开(公告)号: | CN106649009A | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 仲倩黎;曾林 | 申请(专利权)人: | 北京中电华大电子设计有限责任公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22;G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 102209 北京市昌平区北七家未*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 java 字节 引用 访问 测试 方法 | ||
1.一种JAVA卡字节码引用访问测试方法,其特征在于,该方法包括如下步骤:
构建java语言编写的测试用源程序;
在所述java语言编写的测试用源程序的基础上,添加一个带有short类型入参的测试方法,通过编译、转换得到CAP文件;
在所述CAP文件中,找到待测试字节码的位置,然后向前,定位到将其访问的引用压栈的字节码;
将所述压栈字节码替换为“XX”;所述“XX”为将测试方法short类型参数值压栈的字节码。
2.根据权利要求1所述的测试用源程序,其特征在于,创建并初始化一个对象或数组类型的全局变量,用于一次性建立一个引用,代替在测试方法中建立数组,避免在测试过程中,反复调用测试方法,反复建立数组,消耗E方空间,影响测试流程。
3.根据权利要求1所述的在所述java语言编写的测试用源程序的基础上,添加的一个带有short类型入参的测试方法,该测试方法包括以下内容:
带有一个short类型的参数;
创建一个对象或数组类型的局部变量,将其值初始化为所述的一个对象或数组类型的全局变量;
编写一个语句,该语句调用待测试字节码,并使其访问所述的一个对象或数组类型的局部变量。
4.根据权利要求1所述的“XX”,其特征在于,是将测试方法short类型参数值压栈的字节码,替换前的字节码的作用是将一个引用压入到栈中,该引用指向的对象是实际存在的,替换后的字节码作用是将一个short数值压入到栈中,待测试字节码从栈中取得这个数据,将它作为引用来进行访问,因此替换字节码动作实现了构造虚假引用的目的。
5.根据权利要求2所述的一个对象或数组类型的全局变量,其特征在于,其类型与待测试字节码要访问的对象类型一致,即如果字节码要访问byte类型数组,则全局变量定义为一个byte类型数组,如果字节码要访问一个对象,则全局变量定义为同一个类的对象。
6.根据权利要求3所述的带有一个short类型的参数,其特征在于,该参数值会从卡外,通过APDU命令传入到所述CAP文件在卡上安装的测试应用,通过测试应用传入到所述测试方法,通过测试方法传入到栈中字节码要读取引用的位置,测试人员在卡外设置该short类型参数的值,决定测试字节码要访问的引种值,从而达到测试字节码引用访问功能的目的。
7.根据权利要求3所述的一个对象或数组类型的局部变量,其特征在于,其类型与所述一个对象或数组类型的全局变量的类型一致。
8.根据权利要求3所述的一个对象或数组类型的局部变量,其特征在于,使用局部变量作为字节码访问的初始引用,可以简化测试流程,并使得测试流程可控,如果使用全局变量作为字节码访问的初始引用,则将全局变量引用压栈的字节码可能在cap下载时被修改操作数,使得下载到卡上的应用不能做期望的操作,达不到测试目的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中电华大电子设计有限责任公司,未经北京中电华大电子设计有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611074995.1/1.html,转载请声明来源钻瓜专利网。