本文要推荐的书籍叫"The Fuzzing Book",一本免费的电子书籍,作者建站提供在线阅读版本,并在Github上开源。
此书默认就两个阅读格式:Html和ipynb,不是很友好,在线的也没翻页功能,ipynb更是偏门格式,还得自己另外装工具阅读,或者上传文件到 Jupyter 在线阅读。
这种操作不利用文档传播和收藏,于是我将其批量转换为pdf并合并成一份,方便阅读,下载地址附在文末。
用此标题有两层含义:
此书真的是用代码写的,从 https://github.com/uds-se/fuzzingbook 下载后,可以make,但很容易出错,得安装一大堆东西,并没有那么便捷,所以最后我放弃了,自己动手制作pdf;
技术内容以Python代码为例,讲解Fuzzing技术的方方面面,避免一些空头理论。
不过我觉得这作者有点“过度极客”思想,写书没必然整得这么麻烦,还不利于传播;另外,书中有些C代码,还得用python代码写C代码到文件中,一定是个Python极度拥护者,也是个话痨子。
吐槽完了,聊下书的内容吧。
全书目录如下:
用Python代码来演示各种Fuzzing技术,对于理解各种概念、技术原理比较有帮助,包括覆盖引导、变异策略、种子调度算法、语法Fuzzing、符号Fuzzing等等;还有各种fuzz技术的对比,生成对比图,非常直观,整个学习过程循序渐进,且深入浅出。
有些示例是针对python程序来讲解的,比如像覆盖率是以Python程序的覆盖率为例,但很多情况下我们其实是针对C/C++这类编译语言(里面也有C代码示例)。
如果你熟悉python,那么只看python代码和运行效果,似乎也可以理解本书内容。
整体内容偏学术型,有不少算法公式讲解,还有一些写论文会用到的一些统计图用来评估算法的实现效果。
百度云盘下载地址:
链接: https://pan.baidu.com/s/1XoJRlROgnmi9E6Ry7m1LVA
提取码: pw7s
转载:https://blog.csdn.net/riusksk/article/details/112057446