# decree **Repository Path**: cherry_wb/decree ## Basic Information - **Project Name**: decree - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-01-09 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Cyber Grand Challenge ===================== This repository contains artifacts used by S2E as part of Codejitsu's entry in DARPA's [Cyber Grand Challenge](https://cybergrandchallenge.com). Recipes ------- Recipes tell S2E how to generate input so that the input can exploit the binary [Type 1 and Type 2 vulnerabilities](https://github.com/CyberGrandChallenge/cgc-release-documentation/blob/master/walk-throughs/understanding-cfe-povs.md). 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``. ```bash git clone https://github.com/CyberGrandChallenge/samples.git ``` 3. Build the samples ```bash 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.