cherry-wb / decree

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cyber Grand Challenge

This repository contains artifacts used by S2E as part of Codejitsu's entry in DARPA's Cyber Grand Challenge.

Recipes

Recipes tell S2E how to generate input so that the input can exploit the binary Type 1 and Type 2 vulnerabilities. Recipes are used by S2E's Recipes plugin.

Recipes are now generated by s2e-env. Please refer to the s2e-env documentation for more details.

Scripts

Various CGC-related scripts.

Samples

The samples folder contains various pre-compiled CGC binaries that you can use for testing.

You can build the samples on your host in a docker container as follows:

  1. Check that you have a working S2E environment. We assume later that it is located in $S2EDIR. If you do not have one, initialize it using s2e init. This will automatically fetch all required sources. Refer to the S2E documentation for more details.

    Note: you may also clone the decree and guest-images repositories separately.

  2. Build the linux-build-i386cgc docker image. This image is created automatically when building the CGC VM image. If docker images does not list linux-build-i386cgc, rebuild the CGC VM images using s2e image_build cgc_debian-9.2.1-i386.

  3. Clone the CGC samples repository. These instructions assume that it is located in $CGCDIR.

    git clone https://github.com/CyberGrandChallenge/samples.git
  4. Build the samples

    cd $CGCDIR
    docker run -ti --rm -w $(pwd) -v $HOME:$HOME linux-build-i386cgc /run_as.sh $(id -u) $(id -g) \
     $S2EDIR/source/s2e/decree/scripts/build-cgc-samples.sh $S2EDIR/decree/samples

    Note: the command above assumes that $CGCDIR and $S2EDIR are subdirectories of your $HOME. If this is not the case, modify the docker run command so that it also mounts $CGCDIR and $S2EDIR at the same locations in the docker image.

About


Languages

Language:Shell 62.6%Language:CMake 37.4%