Radamsa Fuzz 移植 win平台

0x00 Radamsa Introduction

 Radamsa是一个用于稳健性测试的测试用例生成器,也就是一个模糊测试器。它通常用于测试程序如何能够承受格式错误和潜在的恶意输入。它的工作原理是读取有效数据的样本文件,并从中生成有意义的不同输出。 Radamsa的主要卖点是它已经在程序中发现了大量的错误,这些错误实际上很重要,它易于编写脚本且易于启动和运行。Radamsa 类似于google project zero 的开源项目的domato,都只是负责样本生成的样本生成引擎,也即是说,你可以自己编写整个fuzz框架,但是样本生成的模块全部交给radamsa 去完成(其实Fuzz框架最难最有学问的就是样本生成引擎的开发)。Radamsa 本是对linux系统开发的项目,在linux下编译的方式非常方便。但是并没有提供windows版本的编译选项。

0x01 Radamsa build on linux

linux下编译Radamsa的方式非常方便 只需要安装一些依赖,就可以开始编译了

1
2
3
4
$ sudo apt-get install gcc make git wget
$ git clone https://gitlab.com/akihe/radamsa.git
$ cd radamsa
$ make

编译好后,在 radamsa/bin 下生成 radamsa ,尝试 ./radamsa -h

image.png

0x02 Radamsa build on windows

下面给一种移植Radamsa到win平台的方式,Cygwin。
Cygwin是许多自由软件的集合,最初由Cygnus Solutions开发,用于各种版本的Microsoft Windows上,运行类UNIX系统。Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。

cygwin install

在下面的链接里选择适合版本的Cygwin下载并进行安装。
cygwin download
下载完成后,运行setup.exe程序,出现安装画面。直接点“下一步”,出现安装模式的对话框,如下图所示:
选择Install from Internet,这种模式直接从Internet安装,直接下一步;
image.png
然后就是设置模拟的linux Root目录路劲之类的,看个人喜好设置。

image.png
然后就是设置连接类型,选择 Direct Connection 继续下一步。
image.png
接下来就是选择源了,这里使用阿里云镜像 http://mirrors.aliyun.com/cygwin/ 继续下一步
image.png
现在就可以在源里下载 编译Radamsa 需要的依赖,gcc 、git、 make、 wget
下面以下载gcc为列子
在下载列表里选择 Devel 选项 展开
image.png
找到gcc 系列套件,在前方的Skip 选项点击一下,会显示出这个这个工具能下载的版本。然后直接下一步,下一步,就会把你选择的工具以及确定的版本进行下载安装。

image.png
Devel 选项 里能找到gcc 、git、 make 。
而make 工具在 web选项里

image.png
所有依赖安装完成后 就可以通过Cygwin terminal 查看 gcc –version

image.png

cygwin build Radamsa

cygwin下build Radamsa 就和linux下一样的

1
2
3
4
$ sudo apt-get install gcc make git wget
$ git clone https://gitlab.com/akihe/radamsa.git
$ cd radamsa
$ make

make执行完后 在 radamsa/bin 下生成 radamsa.exe 当然我们还需要Cgywin的依赖库Cgywin1.dll
image.png
Cgywin1.dll所在目录为 cygwin64\bin 将其拷贝到 radamsa.exe同一目录下即可

image.png

image.png
现在就可以在cmd下运行 Radamsa.exe 尝试一下了

image.png

hava fun :)