zoukankan      html  css  js  c++  java
  • 【AFL(十五)】LAVA-M服务器篇

    最近写论文要用LAVA-M做测试集,但是遇到一个问题,在虚拟机成功的步骤在服务器却不行了,也就是之前的那两篇LAVA-M文章,最后得到原因是root模式下LAVA-M的自动化脚本不可用。

    1. 进入 coreutils-8.24-lava-safe 文件夹:

    然后配置环境,这里需要注意,一定要按照下面的命令(特别是加粗的部分):

    CC=afl-gcc CXX=afl-g++ ./configure --prefix=`pwd`/lava-install LIBS="-lacl" FORCE_UNSAFE_CONFIGURE=1

    否则有可能配置报错,如果这一步是ok的,后面就没什么问题了。

    2. 编译

    make (-j 12)

    括号内的如果有多线程就加上,没有就去掉括号内的东西

    3. 安装

    make install

    到这里基本就完成了,再用原来安装脚本的后半段进行测试

    4. 测试

    #!/bin/bash
    
    PROG="base64"
    PROGOPT="-d"
    INPUT_PATTERN="inputs/utmp-fuzzed-%s.b64"
    INPUT_CLEAN="inputs/utmp.b64"
    
    echo "Validating bugs..."
    cat validated_bugs | while read line ; do
        INPUT_FUZZ=$(printf "$INPUT_PATTERN" $line)
        { ./coreutils-8.24-lava-safe/lava-install/bin/${PROG} ${PROGOPT} ${INPUT_FUZZ} ; } &> /dev/null
        echo $line $?
    done > validated.txt
    
    awk 'BEGIN {valid = 0} $2 > 128 { valid += 1 } END { print "Validated", valid, "/", NR, "bugs" }' validated.txt
    
    echo "You can see validated.txt for the exit code of each buggy version."

    放到一个单独的sh文件,并运行,(跟coreutils-8.24-lava-safe文件夹同级)

    显示44/44就代表安装成功,0/44就是失败

  • 相关阅读:
    powerpc调试工具的使用
    微软的开发工具是我见过比较难用的
    Spring之jdbcTemplate:查询的三种方式(单个值、单个对象、对象集合)
    静态工厂方法和实例工厂方法
    理解.NET Framework
    .NET相关的概念简介
    二、文档工具 swagger
    Java Web学习(二)数据加密
    Java Web学习(一)Web基础
    Oracle学习(十二)标量函数
  • 原文地址:https://www.cnblogs.com/wayne-tao/p/13814289.html
Copyright © 2011-2022 走看看