Code Monkey home page Code Monkey logo

decree's Introduction

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.