From 59ed318427f07c76d05ec8df6e42ffb134590294 Mon Sep 17 00:00:00 2001 From: Catena cyber <35799796+catenacyber@users.noreply.github.com> Date: Tue, 28 Aug 2018 15:40:53 +0200 Subject: [PATCH] [unicorn] Add project (#1725) * Adds unicorn project * Using main repo for unicorn --- projects/unicorn/Dockerfile | 22 ++++++++++++++++++++++ projects/unicorn/build.sh | 32 ++++++++++++++++++++++++++++++++ projects/unicorn/project.yaml | 8 ++++++++ 3 files changed, 62 insertions(+) create mode 100644 projects/unicorn/Dockerfile create mode 100755 projects/unicorn/build.sh create mode 100644 projects/unicorn/project.yaml diff --git a/projects/unicorn/Dockerfile b/projects/unicorn/Dockerfile new file mode 100644 index 000000000..68a4955ec --- /dev/null +++ b/projects/unicorn/Dockerfile @@ -0,0 +1,22 @@ +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder +MAINTAINER unicorn.emu@gmail.com +RUN apt-get update && apt-get install -y make python +RUN git clone --depth 1 https://github.com/unicorn-engine/unicorn.git +WORKDIR $SRC +COPY build.sh $SRC/ diff --git a/projects/unicorn/build.sh b/projects/unicorn/build.sh new file mode 100755 index 000000000..7e6c32ab9 --- /dev/null +++ b/projects/unicorn/build.sh @@ -0,0 +1,32 @@ +#!/bin/bash -eu +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +cd unicorn +./make.sh +#we could test with make fuzz + +# build fuzz target +cd tests/fuzz +ls fuzz_*.c | cut -d_ -f2-4 | cut -d. -f1 | while read target +do + $CC $CFLAGS -I../../include -c fuzz_$target.c -o fuzz_$target.o + + $CXX $CXXFLAGS fuzz_$target.o -o $OUT/fuzz_$target ../../libunicorn.a -lFuzzingEngine + + #TODO corpuses + cp fuzz_emu.options $OUT/fuzz_$target.options +done diff --git a/projects/unicorn/project.yaml b/projects/unicorn/project.yaml new file mode 100644 index 000000000..8bdc7f616 --- /dev/null +++ b/projects/unicorn/project.yaml @@ -0,0 +1,8 @@ +homepage: "https://www.unicorn-engine.org" +primary_contact: "unicorn.emu@gmail.com" +auto_ccs : "p.antoine@catenacyber.fr" + +sanitizers: +- address +- memory +- undefined