- 博客(11)
- 收藏
- 关注
原创 react实现井字棋包含悔棋功能
钩子函数定义的数组history的状态不能被直接改变,不能改变状态变量的内部结构,而应该创建一个新的状态对象或数组,并用这个新的状态替换旧的状态。if (squares[i] || calculateWinner(squares)) {//如果格子已经有旗子或者已经有人胜利,则不再改变棋盘。//在下每一步棋前,现将当前棋盘保存在history数组的末尾,用于悔棋读取。//每次点击悔棋按钮,读取history中最后一个数据,也即上一步的棋盘情况。//每次下棋后,获取棋盘最新状态,并更换棋手。
2024-07-06 22:26:07
589
原创 使用AFL++的afl-plot功能生成模糊测试过程的覆盖率图表
第一个路径 $HOME/out/default是模糊测试的结果输出路径,第二个路径$HOME/out/default是要生成的图表的存放路径。5.重新加载shell配置文件。1.首先安装gnuplot。2.打开shell配置文件。3.在文件末尾添加下行。4.ctrl+x保存。
2023-11-30 19:21:21
411
原创 根据模糊测试发现的崩溃文件,利用堆栈信息查找bug具体位置
假设将引发xpdf崩溃的文件保存为in/1.pdf。根据堆栈信息查看bug位置和原因即可。以xpdf-4.04为例。输入bt,获取栈回溯。
2023-11-30 19:18:04
108
1
原创 使用lcov获取xpdf-4.04的覆盖率报告
这个命令使用genhtml工具将覆盖率信息转换成HTML格式,然后将结果保存到coverage_report目录中。1.创建一个新文件,例如 "batch_pdftotext.sh",并打开它以进行编辑。4.授予脚本执行权限。Ctrl+X,然后按 Y 和 Enter 来保存并退出。依次获取每一个pdf文件的覆盖率的脚本。1.清空前面执行命令遗留的.gcda。2.在文本编辑器中输入脚本代码。使用脚本一次执行多个测试用例。2.cd到build目录下。5.建立in,out文件夹。将测试用例放进in文件夹中。
2023-11-30 19:03:52
95
原创 使用AFL++对qpdf进行模糊测试
cd build *//有时候会生成两层build*要生成堆栈信息则使用下列命令编译。5.PDF 文件转换为纯文本格式。9.将pdf文件转化为ps文件。11.pdf转为tiff格式。16.转为jpg图片。
2023-11-30 19:01:39
140
原创 使用AFL++对poppler进行模糊测试
1.安装依赖2.安装编译cd buildmake模糊测试命令:可执行命令:pdfinfo @@pdfsig @@
2023-11-30 18:57:35
88
原创 使用AFL++对ghostpdl进行模糊测试
in/1.pdf为要执行的文件路径,改为自己要执行的文件路径即可。若要查看堆栈信息,则使用下列命令编译。下载ghostpdl。
2023-11-30 18:54:31
118
2
原创 使用AFL++对mupdf进行模糊测试
要获取堆栈信息,需要在编译之前将makefile中的build := release改为build := debug。若为空,则用mupdf-1.22.2-source.tar.gz的thirdparty文件夹替换即可。若安装mupdf-05458f5.tar.gz等版本时,提示。mutool extract -r @@//提取字体文件。查看是否thirdparty文件夹内全为空。**#######安装问题**
2023-11-30 18:45:15
303
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人