https://github.com/s2e/decree
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/s2e/decree
- Owner: S2E
- Created: 2017-04-06T17:25:26.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2019-02-03T17:45:55.000Z (over 7 years ago)
- Last Synced: 2025-10-09T01:08:06.371Z (10 months ago)
- Language: Shell
- Size: 14.6 KB
- Stars: 8
- Watchers: 3
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
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.