作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一段代码:
struct somedata {
char mychar;
int myint;
unsigned short myushort;
string mystring;
};
void some_func(somedata *data) {
/* does something with data */
}
如何编写完美模糊测试函数来测试此代码的正确功能、安全性和稳健性?
我所说的完美是指涵盖所有情况的完整测试(如果可能)。比如:超出范围的值、不同的数据类型等。
您没有some_func
的源代码。
最佳答案
您可能会发现有趣的一件事是使用像 american fuzzy lop 这样的基因模糊器。而不是自己编写模糊测试。您将不得不修改您的程序以在标准输入和输出(或命令行中提到的文件)上运行并使用特殊的 GCC/LLVM 包装器对其进行编译,但为了交换,您将获得一种执行模糊测试的方法一个可以学习你的输入/输出格式的工具。它了解哪些位在修改时会引发新的代码路径,并给予它们一些额外的关注。另外,看看 LLVM 的 LibFuzzer ,它使用了类似的想法。
关于security - 您如何为其他功能编写完美的模糊测试功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24054845/
我是一名优秀的程序员,十分优秀!