0x00 Radamsa简介
Radamsa是一个用于稳健性测试的测试用例生成器,也就是一个模糊测试器。它通常用于测试程序如何能够承受格式错误和潜在的恶意输入。它的工作原理是读取有效数据的样本文件,并从中生成有意义的不同输出。 类似于project zero 的开源项目domato,Radamsa只负责样本生成。而区别于domato的一点是,Radamsa需要输入原始样本来进行变异得到新的的样本(Radamsa很牛逼一点在于 不需要你指定你的原始样本的格式,他会自动判定,对于fuzzer来说真的超级方便)。
Radamsa 的项目是用于linux平台上面的项目,并没有开放windows版本。
0x01 Radamsa linux 构建
Radamsa fuzz project
linux上的构建方法如下:
$ sudo apt-get install gcc make git wget
$ git clone https://gitlab.com/akihe/radamsa.git && cd radamsa && make && sudo make install
0x02 Radamsa win 构建
但是如果需要对win平台的目标程序进行fuzz 则需要想办法进行移植。
下面给出一种比较简单方式,win上使用Cygwin用Cygwin编译radamsa。
Cygwin的安装
通过下面的链接选择你需要的cygwin版本。
Cygwin download
下载完成后就需要通过Cygwin来安装linux上构建Radamsa需要的工具了,gcc/clag、git、wget、make
首先运行Cygwin的安装程序 到下面界面直接选择Install from Internet,这种模式直接从Internet安装,适合网速较快的情况;
然后就是一些设置Cygwin 模拟linux环境的文件存储位置设定,看个人喜好定吧,我是直接默认
网络连接类型这,直接选择Direct connection
添加使用阿里云镜像这个比较快 http://mirrors.aliyun.com/cygwin/
以gcc为列子说一下,在下图中搜gcc 然后把蓝色箭头指向Skip 点击一下就会显示当前能安装的版本。这就代表你需要安装的套件以及版本(gcc/clang 、git 都在Devel目录下)
最后就是喜闻乐见的无脑最后一步了
安装完成后通过cygwin terminal启动一个shell 查看一下gcc --version
Cygwin 下构建Radamsa
在Cygwin下和linx环境一致,按照linux的方式编译即可
在make 之后,make install之前。可以在 /radamsa/bin 下找到编译出来的 radamsa.exe
当然这个exe需要cygwin的依赖库才能运行。cygwin依赖库为cygwin1.dll 在cygwin安装目录下的/bin/文件中,把cygwin1.dll 拷贝到 radamsa.exe 同一目录下就可以在cmd里运行win平台下的 radamsa了
hava fun :)