Abstract
尝试使用 go fuzz 来测试程序,本文记录一下测试过程。
其中遇到了一些新鲜的点,值得记录一下。
1、国内下载安装
gofuzz 的官方安装方法如下
go get github.com/dvyukov/go-fuzz/go-fuzz
go get github.com/dvyukov/go-fuzz/go-fuzz-build
但国内服务器可能无法正常下载。
可以运行以下命令来手动安装gofuzz
cd $GOPATH/src/github.com/dvyukov/
git clone https://github.com/dvyukov/go-fuzz.git
cd go-fuzz/
go install
cd ../go-fuzz-build/
go install
2、Fuzz函数仅接收byte类型
使用gofuzz测试程序,只能将byte类型的值作为输入。
// +build gofuzz
package foo
func Fuzz(data []

本文详细记录了使用GoFuzz进行模糊测试的过程中遇到的问题,包括在国内如何手动安装gofuzz,以及Fuzz函数只接受byte类型输入的限制。在面对需要测试多参数或复杂类型函数时,需要自定义反序列化策略,文中提到了一种解决方案并警告避免使用无法处理复杂类型的序列化库。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



