CN111858374B - 一种实现字体模糊测试的方法、装置和介质 - Google Patents
一种实现字体模糊测试的方法、装置和介质 Download PDFInfo
- Publication number
- CN111858374B CN111858374B CN202010740291.3A CN202010740291A CN111858374B CN 111858374 B CN111858374 B CN 111858374B CN 202010740291 A CN202010740291 A CN 202010740291A CN 111858374 B CN111858374 B CN 111858374B
- Authority
- CN
- China
- Prior art keywords
- font file
- font
- processed
- mutation
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000035772 mutation Effects 0.000 claims abstract description 168
- 238000012545 processing Methods 0.000 claims abstract description 59
- 238000004590 computer program Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明实施例公开了一种实现字体模糊测试的方法、装置和介质,利用二进制模式读取内存中的一个待处理字体文件;从预先设定的字体文件变异规则库中依次选取本次循环未使用的目标变异规则,利用目标变异规则对待处理字体文件执行变异处理,以得到变异字体文件。调用浏览器通过html依次加载变异字体文件,并检测浏览器每运行一个变异字体文件所产生的运行结果,直至内存中不存在待处理字体文件,则结束操作。通过浏览器加载变异字体文件,无需再依赖于测试人员选取可解析字体的DLL组件,降低了对测试人员的专业性要求,使得windows字体库模糊测试更加简便。并且浏览器是直接面向用户,提升了测试结果的可用性。
Description
技术领域
本发明涉及软件测试技术领域,特别是涉及一种实现字体模糊测试的方法、装置和计算机可读存储介质。
背景技术
模糊测试是一种软件测试技术,常被用来发现软件、操作系统、网络的代码中的错误和安全性问题,其中用于输入随机的数据和不合法的数据被称为“FUZZ”。
现有的针对windows字体库的模糊测试工具是通过winafl进行模糊测试。这种测试方式需要测试人员预先知道windows哪些动态链接库(Dynamic Link Library,DLL)组件是可以解析字体的,然后找到对应的windows API函数编写模糊测试代码。并且这种方法通过软件模拟的方式进行模糊测试,得到的崩溃结果不具有应用场景,因此这些崩溃不能当作远程漏洞处理,漏洞厂商是不认可这些崩溃结果的。
可见,如何降低windows字体库模糊测试的难度,并且提升测试结果的可用性,是本领域技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种实现字体模糊测试的方法、装置和计算机可读存储介质,可以降低windows字体库模糊测试的难度,并且提升测试结果的可用性。
为解决上述技术问题,本发明实施例提供一种实现字体模糊测试的方法,包括:
利用二进制模式读取内存中的一个待处理字体文件;
从预先设定的字体文件变异规则库中依次选取本次循环未使用的目标变异规则,利用所述目标变异规则对所述待处理字体文件执行变异处理,以得到变异字体文件;
调用浏览器通过html依次加载所述变异字体文件,并检测所述浏览器每运行一个变异字体文件所产生的运行结果,直至所述内存中不存在待处理字体文件,则结束操作。
可选地,所述字体文件变异规则库包括单字节变异规则、两字节变异规则、四字节变异规则、八字节变异规则以及单比特位变异规则。
可选地,当所述目标变异规则为单字节变异规则时,所述利用所述目标变异规则对所述待处理字体文件执行变异处理,以得到变异字体文件包括:
利用生成的一字节随机数与所述待处理字体文件中的一个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第一字符串替换所述待处理字体文件中的一个字节,以得到变异字体文件。
可选地,当所述目标变异规则为两字节变异规则时,所述利用所述目标变异规则对所述待处理字体文件执行变异处理,以得到变异字体文件包括:
利用生成的二字节随机数与所述待处理字体文件中的两个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第二字符串替换所述待处理字体文件中的两个字节,以得到变异字体文件。
可选地,当所述目标变异规则为四字节变异规则时,所述利用所述目标变异规则对所述待处理字体文件执行变异处理,以得到变异字体文件包括:
利用生成的四字节随机数与所述待处理字体文件中的四个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第三字符串替换所述待处理字体文件中的四个字节,以得到变异字体文件。
可选地,当所述目标变异规则为八字节变异规则时,所述利用所述目标变异规则对所述待处理字体文件执行变异处理,以得到变异字体文件包括:
利用生成的八字节随机数与所述待处理字体文件中的八个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第四字符串替换所述待处理字体文件中的八个字节,以得到变异字体文件。
可选地,当所述目标变异规则为单比特位变异规则时,所述利用所述目标变异规则对所述待处理字体文件执行变异处理,以得到变异字体文件包括:
对所述待处理字体文件中的单比特位进行异或处理,以得到变异字体文件。
本发明实施例还提供了一种实现字体模糊测试的装置,包括读取单元、变异单元、加载单元和检测单元;
所述读取单元,用于利用二进制模式读取内存中的一个待处理字体文件;
所述变异单元,用于从预先设定的字体文件变异规则库中依次选取本次循环未使用的目标变异规则,利用所述目标变异规则对所述待处理字体文件执行变异处理,以得到变异字体文件;
所述加载单元,用于调用浏览器通过html依次加载所述变异字体文件;
所述检测单元,用于检测所述浏览器每运行一个变异字体文件所产生的运行结果,直至所述内存中不存在待处理字体文件,则结束操作。
可选地,所述字体文件变异规则库包括单字节变异规则、两字节变异规则、四字节变异规则、八字节变异规则以及单比特位变异规则。
可选地,当所述目标变异规则为单字节变异规则时,所述变异单元具体用于利用生成的一字节随机数与所述待处理字体文件中的一个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第一字符串替换所述待处理字体文件中的一个字节,以得到变异字体文件。
可选地,当所述目标变异规则为两字节变异规则时,所述变异单元具体用于利用生成的二字节随机数与所述待处理字体文件中的两个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第二字符串替换所述待处理字体文件中的两个字节,以得到变异字体文件。
可选地,当所述目标变异规则为四字节变异规则时,所述变异单元具体用于利用生成的四字节随机数与所述待处理字体文件中的四个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第三字符串替换所述待处理字体文件中的四个字节,以得到变异字体文件。
可选地,当所述目标变异规则为八字节变异规则时,所述变异单元具体用于利用生成的八字节随机数与所述待处理字体文件中的八个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第四字符串替换所述待处理字体文件中的八个字节,以得到变异字体文件。
可选地,当所述目标变异规则为单比特位变异规则时,所述变异单元具体用于对所述待处理字体文件中的单比特位进行异或处理,以得到变异字体文件。
本发明实施例还提供了一种实现字体模糊测试的装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述任意一项所述实现字体模糊测试的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述实现字体模糊测试的方法的步骤。
由上述技术方案可以看出,利用二进制模式读取内存中的一个待处理字体文件;从预先设定的字体文件变异规则库中依次选取本次循环未使用的目标变异规则,利用目标变异规则对待处理字体文件执行变异处理,以得到变异字体文件。通过设定多种字体文件变异规则,对于同一个待处理字体文件,可以依次调用不同的字体文件变异规则,实现对待处理字体文件的变异处理,提升了变异字体文件的多样性。调用浏览器通过html依次加载变异字体文件,并检测浏览器每运行一个变异字体文件所产生的运行结果,直至内存中不存在待处理字体文件,则结束操作。通过浏览器加载变异字体文件,无需再依赖于测试人员选取可解析字体的DLL组件,降低了对测试人员的专业性要求,使得windows字体库模糊测试更加简便。并且浏览器是直接面向用户,因此浏览器运行变异字体文件所产生的运行结果更具有代表性,提升了测试结果的可用性。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种实现字体模糊测试的方法的流程图;
图2为本发明实施例提供的一种实现字体模糊测试的装置的结构示意图;
图3为本发明实施例提供的一种实现字体模糊测试的装置的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种实现字体模糊测试的方法。图1为本发明实施例提供的一种实现字体模糊测试的方法的流程图,该方法包括:
S101:利用二进制模式读取内存中的一个待处理字体文件。
在本发明实施例中,控制器可以预先遍历样本文件夹(testcase)中的文件,然后将遍历得到的文件保存到内存中。
内存中保存的字体文件有多个,在模糊测试过程中每次测试可以对其中的一个字体文件进行变异处理。为了便于和内存中的其它字体文件进行区分,可以将读取的字体文件称作待处理字体文件。
从内存中读取字体文件的方式可以有多种,二进制模式读取数据时不需要执行任何转换,因此在本发明实施例中,可以采用二进制模式从内存中读取字体文件。
S102:从预先设定的字体文件变异规则库中依次选取本次循环未使用的目标变异规则,利用目标变异规则对待处理字体文件执行变异处理,以得到变异字体文件。
为了提升变异字体文件的多样性,在本发明实施例中,可以预先设定多种字体文件变异规则组成字体文件变异规则库,字体文件变异规则主要用于对待处理字体文件中的数据进行内容的变换,从而得到变异字体文件。
在具体实现中,字体文件变异规则库中可以包括单字节变异规则、两字节变异规则、四字节变异规则、八字节变异规则以及单比特位变异规则,每种类型变异规则的具体实现形式可以参见后续介绍,在此不再赘述。
以一个待处理字体文件为例,可以依次从字体文件变异规则库中选取不同的变异规则对待处理字体文件进行变异处理。在实际应用中,可以每次选取一种变异规则对待处理字体文件进行变异处理,每得到一次变异字体文件,便可以执行一次S103的操作,直至对该待处理字体文件完成所有类型的变异处理,则返回S101从内存中读取下一个待处理字体文件。
在本发明实施例中,除了每次选取一种变异规则对待处理字体文件进行变异处理之外,也可以采用多种变异规则组合的方式对待处理字体文件进行变异处理。
需要说明的是,为了便于控制器区分内存中的哪些字体文件已经执行了变异处理,可以在对一个字体文件完成变异处理之后,对内存中的该字体文件设置已处理标识。
S103:调用浏览器通过html依次加载变异字体文件,并检测浏览器每运行一个变异字体文件所产生的运行结果,直至内存中不存在待处理字体文件,则结束操作。
在本发明实施例中,可以调用浏览器通过html依次加载变异字体文件。
一个待处理字体文件采用不同的变异规则进行处理,可以得到不同的变异字体文件,浏览器可以依次加载各个变异字体文件。控制器可以检测浏览器每运行一个变异字体文件所产生的运行结果,当运行结果为浏览器进程崩溃的结果时,则将运行结果所对应的字体文件保存到crash目录下。
通过浏览器加载变异字体文件,无需再依赖于测试人员选取可解析字体的DLL组件,降低了对测试人员的专业性要求,使得windows字体库模糊测试更加简便。并且浏览器是直接面向用户,因此浏览器运行变异字体文件所产生的运行结果更具有代表性,提升了测试结果的可用性。
接下来将对S102中提及的变异规则的具体形式展开介绍。当目标变异规则为单字节变异规则时,可以利用生成的一字节随机数与待处理字体文件中的一个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第一字符串替换待处理字体文件中的一个字节,以得到变异字体文件。
在本发明实施例中,可以预先设定好第一字符串的形式,考虑到字体文件往往以十六进制的形式呈现,因此第一字符串可以设置为十六进制的形式,例如,第一字符串可以设置为0x41或者0xff。
当目标变异规则为两字节变异规则时,可以利用生成的二字节随机数与待处理字体文件中的两个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第二字符串替换待处理字体文件中的两个字节,以得到变异字体文件。
与第一字符串的设置方式类似,第二字符串可以设置为0x4141、0x8000、0x7fff或者0xffff等。
当目标变异规则为四字节变异规则时,可以利用生成的四字节随机数与待处理字体文件中的四个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第三字符串替换待处理字体文件中的四个字节,以得到变异字体文件。
与第一字符串的设置方式类似,第三字符串可以设置为0x41414141、0x80000000、0xffffffff或者0x7fffffff等。
当目标变异规则为八字节变异规则时,可以利用生成的八字节随机数与待处理字体文件中的八个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第四字符串替换待处理字体文件中的八个字节,以得到变异字体文件。
与第一字符串的设置方式类似,第四字符串可以设置为0x4141414141414141、0x8000000000000000、0xffffffffffffffff或者0x7fffffffffffffff等。
当目标变异规则为单比特位变异规则时,可以对待处理字体文件中的单比特位进行异或处理,以得到变异字体文件。
由上述技术方案可以看出,利用二进制模式读取内存中的一个待处理字体文件;从预先设定的字体文件变异规则库中依次选取本次循环未使用的目标变异规则,利用目标变异规则对待处理字体文件执行变异处理,以得到变异字体文件。通过设定多种字体文件变异规则,对于同一个待处理字体文件,可以依次调用不同的字体文件变异规则,实现对待处理字体文件的变异处理,提升了变异字体文件的多样性。调用浏览器通过html依次加载变异字体文件,并检测浏览器每运行一个变异字体文件所产生的运行结果,直至内存中不存在待处理字体文件,则结束操作。通过浏览器加载变异字体文件,无需再依赖于测试人员选取可解析字体的DLL组件,降低了对测试人员的专业性要求,使得windows字体库模糊测试更加简便。并且浏览器是直接面向用户,因此浏览器运行变异字体文件所产生的运行结果更具有代表性,提升了测试结果的可用性。
图2为本发明实施例提供的一种实现字体模糊测试的装置的结构示意图,包括读取单元21、变异单元22、加载单元23和检测单元24;
读取单元21,用于利用二进制模式读取内存中的一个待处理字体文件;
变异单元22,用于从预先设定的字体文件变异规则库中依次选取本次循环未使用的目标变异规则,利用目标变异规则对待处理字体文件执行变异处理,以得到变异字体文件;
加载单元23,用于调用浏览器通过html依次加载变异字体文件;
检测单元24,用于检测浏览器每运行一个变异字体文件所产生的运行结果,直至内存中不存在待处理字体文件,则结束操作。
可选地,字体文件变异规则库包括单字节变异规则、两字节变异规则、四字节变异规则、八字节变异规则以及单比特位变异规则。
可选地,当目标变异规则为单字节变异规则时,变异单元具体用于利用生成的一字节随机数与待处理字体文件中的一个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第一字符串替换待处理字体文件中的一个字节,以得到变异字体文件。
可选地,当目标变异规则为两字节变异规则时,变异单元具体用于利用生成的二字节随机数与待处理字体文件中的两个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第二字符串替换待处理字体文件中的两个字节,以得到变异字体文件。
可选地,当目标变异规则为四字节变异规则时,变异单元具体用于利用生成的四字节随机数与待处理字体文件中的四个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第三字符串替换待处理字体文件中的四个字节,以得到变异字体文件。
可选地,当目标变异规则为八字节变异规则时,变异单元具体用于利用生成的八字节随机数与待处理字体文件中的八个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第四字符串替换待处理字体文件中的八个字节,以得到变异字体文件。
可选地,当目标变异规则为单比特位变异规则时,变异单元具体用于对待处理字体文件中的单比特位进行异或处理,以得到变异字体文件。
图2所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,利用二进制模式读取内存中的一个待处理字体文件;从预先设定的字体文件变异规则库中依次选取本次循环未使用的目标变异规则,利用目标变异规则对待处理字体文件执行变异处理,以得到变异字体文件。通过设定多种字体文件变异规则,对于同一个待处理字体文件,可以依次调用不同的字体文件变异规则,实现对待处理字体文件的变异处理,提升了变异字体文件的多样性。调用浏览器通过html依次加载变异字体文件,并检测浏览器每运行一个变异字体文件所产生的运行结果,直至内存中不存在待处理字体文件,则结束操作。通过浏览器加载变异字体文件,无需再依赖于测试人员选取可解析字体的DLL组件,降低了对测试人员的专业性要求,使得windows字体库模糊测试更加简便。并且浏览器是直接面向用户,因此浏览器运行变异字体文件所产生的运行结果更具有代表性,提升了测试结果的可用性。
图3为本发明实施例提供的一种实现字体模糊测试的装置30的硬件结构示意图,包括:
存储器31,用于存储计算机程序;
处理器32,用于执行计算机程序以实现如上述任意实施例所述的实现字体模糊测试的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任意实施例所述的实现字体模糊测试的方法的步骤。
以上对本发明实施例所提供的一种实现字体模糊测试的方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (10)
1.一种实现字体模糊测试的方法,其特征在于,包括:
利用二进制模式读取内存中的一个待处理字体文件,在字体文件变异规则库中设定多种字体文件变异规则,对于同一个待处理字体文件,依次调用不同的字体文件变异规则,实现对待处理字体文件的变异处理;
从预先设定的字体文件变异规则库中依次选取本次循环未使用的目标变异规则,利用所述目标变异规则对所述待处理字体文件执行变异处理,以得到变异字体文件;
调用浏览器通过html依次加载所述变异字体文件,并检测所述浏览器每运行一个变异字体文件所产生的运行结果,直至所述内存中不存在待处理字体文件,则结束操作。
2.根据权利要求1所述的实现字体模糊测试的方法,其特征在于,所述字体文件变异规则库包括单字节变异规则、两字节变异规则、四字节变异规则、八字节变异规则以及单比特位变异规则。
3.根据权利要求2所述的实现字体模糊测试的方法,其特征在于,当所述目标变异规则为单字节变异规则时,所述利用所述目标变异规则对所述待处理字体文件执行变异处理,以得到变异字体文件包括:
利用生成的一字节随机数与所述待处理字体文件中的一个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第一字符串替换所述待处理字体文件中的一个字节,以得到变异字体文件。
4.根据权利要求2所述的实现字体模糊测试的方法,其特征在于,当所述目标变异规则为两字节变异规则时,所述利用所述目标变异规则对所述待处理字体文件执行变异处理,以得到变异字体文件包括:
利用生成的二字节随机数与所述待处理字体文件中的两个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第二字符串替换所述待处理字体文件中的两个字节,以得到变异字体文件。
5.根据权利要求2所述的实现字体模糊测试的方法,其特征在于,当所述目标变异规则为四字节变异规则时,所述利用所述目标变异规则对所述待处理字体文件执行变异处理,以得到变异字体文件包括:
利用生成的四字节随机数与所述待处理字体文件中的四个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第三字符串替换所述待处理字体文件中的四个字节,以得到变异字体文件。
6.根据权利要求2所述的实现字体模糊测试的方法,其特征在于,当所述目标变异规则为八字节变异规则时,所述利用所述目标变异规则对所述待处理字体文件执行变异处理,以得到变异字体文件包括:
利用生成的八字节随机数与所述待处理字体文件中的八个字节进行异或处理,以得到变异字体文件;或者利用预先设定的第四字符串替换所述待处理字体文件中的八个字节,以得到变异字体文件。
7.根据权利要求2所述的实现字体模糊测试的方法,其特征在于,当所述目标变异规则为单比特位变异规则时,所述利用所述目标变异规则对所述待处理字体文件执行变异处理,以得到变异字体文件包括:
对所述待处理字体文件中的单比特位进行异或处理,以得到变异字体文件。
8.一种实现字体模糊测试的装置,其特征在于,包括读取单元、变异单元、加载单元和检测单元;
所述读取单元,用于利用二进制模式读取内存中的一个待处理字体文件,在字体文件变异规则库中设定多种字体文件变异规则,对于同一个待处理字体文件,依次调用不同的字体文件变异规则,实现对待处理字体文件的变异处理;
所述变异单元,用于从预先设定的字体文件变异规则库中依次选取本次循环未使用的目标变异规则,利用所述目标变异规则对所述待处理字体文件执行变异处理,以得到变异字体文件;
所述加载单元,用于调用浏览器通过html依次加载所述变异字体文件;
所述检测单元,用于检测所述浏览器每运行一个变异字体文件所产生的运行结果,直至所述内存中不存在待处理字体文件,则结束操作。
9.一种实现字体模糊测试的装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至7任意一项所述实现字体模糊测试的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述实现字体模糊测试的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010740291.3A CN111858374B (zh) | 2020-07-28 | 2020-07-28 | 一种实现字体模糊测试的方法、装置和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010740291.3A CN111858374B (zh) | 2020-07-28 | 2020-07-28 | 一种实现字体模糊测试的方法、装置和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858374A CN111858374A (zh) | 2020-10-30 |
CN111858374B true CN111858374B (zh) | 2024-04-09 |
Family
ID=72948826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010740291.3A Active CN111858374B (zh) | 2020-07-28 | 2020-07-28 | 一种实现字体模糊测试的方法、装置和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858374B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573523A (zh) * | 2013-10-24 | 2015-04-29 | 深圳市腾讯计算机系统有限公司 | 文件漏洞挖掘的实现方法和装置 |
CN108647145A (zh) * | 2018-05-10 | 2018-10-12 | 清华大学 | 软件内存安全检测方法及系统 |
CN109308415A (zh) * | 2018-09-21 | 2019-02-05 | 四川大学 | 一种面向二进制的导向性模糊测试方法与系统 |
CN110912776A (zh) * | 2019-11-27 | 2020-03-24 | 中国科学院信息工程研究所 | 一种实体路由器管理协议的自动化模糊测试方法及装置 |
CN111159044A (zh) * | 2019-12-31 | 2020-05-15 | 上海绊糖信息科技有限公司 | 基于特征类型的自动化移动端rest协议模糊测试方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10452526B2 (en) * | 2017-06-15 | 2019-10-22 | Microsoft Technology Licensing, Llc | Machine learning for constrained mutation-based fuzz testing |
-
2020
- 2020-07-28 CN CN202010740291.3A patent/CN111858374B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573523A (zh) * | 2013-10-24 | 2015-04-29 | 深圳市腾讯计算机系统有限公司 | 文件漏洞挖掘的实现方法和装置 |
CN108647145A (zh) * | 2018-05-10 | 2018-10-12 | 清华大学 | 软件内存安全检测方法及系统 |
CN109308415A (zh) * | 2018-09-21 | 2019-02-05 | 四川大学 | 一种面向二进制的导向性模糊测试方法与系统 |
CN110912776A (zh) * | 2019-11-27 | 2020-03-24 | 中国科学院信息工程研究所 | 一种实体路由器管理协议的自动化模糊测试方法及装置 |
CN111159044A (zh) * | 2019-12-31 | 2020-05-15 | 上海绊糖信息科技有限公司 | 基于特征类型的自动化移动端rest协议模糊测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111858374A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427331B (zh) | 基于接口测试工具自动生成性能测试脚本的方法 | |
US20080307006A1 (en) | File mutation method and system using file section information and mutation rules | |
US8307354B2 (en) | Program creation device, program test device, program execution device, information processing system | |
CN106203007B (zh) | 一种代码处理方法、装置及计算设备 | |
CN112765023B (zh) | 测试用例生成方法、装置 | |
CN111831564A (zh) | 一种回归测试方法、装置及计算设备 | |
US7409592B2 (en) | System for facilitating coverage feedback testcase generation reproducibility | |
CN111198809A (zh) | 接口自动化测试方法和装置 | |
CN111931185A (zh) | 一种Java反序列化漏洞检测方法及组件 | |
CN111475402B (zh) | 程序功能的测试方法及相关装置 | |
CN112069068A (zh) | 自动化测试数据处理方法、装置、设备及可读存储介质 | |
CN112306495A (zh) | 图片校验方法、装置、计算机设备及计算机可读存储介质 | |
CN111858374B (zh) | 一种实现字体模糊测试的方法、装置和介质 | |
CN113032241B (zh) | 一种测试数据处理方法、装置及存储介质 | |
CN107273745B (zh) | 一种动态链接库形式的恶意代码的动态分析方法 | |
CN112631894A (zh) | 代码检测方法、装置、存储介质及计算机设备 | |
CN112861134B (zh) | 基于优化变异策略的漏洞检测方法、装置、设备及介质 | |
CN115687129A (zh) | 一种覆盖率报告生成方法、装置、存储介质和计算机设备 | |
CN111309311B (zh) | 一种漏洞检测工具生成方法、装置、设备及可读存储介质 | |
CN112306496A (zh) | 区块链运行信息分析方法、装置、设备及计算机存储介质 | |
CN118568000A (zh) | 接口测试方法、装置、电子设备及介质 | |
CN112509629B (zh) | J750系统数据下载方法、系统、电子设备及存储介质 | |
CN118585170A (zh) | 一种poc脚本生成方法、装置、电子设备及存储介质 | |
CN111367816B (zh) | 移动测试方法、装置、计算机设备及存储介质 | |
Sun et al. | Testing Sequence Generation Method Based on Unrelated Behaviors Serializing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |