From 6b1f87b4cc11d7e19c51a8665645b2b95628e855 Mon Sep 17 00:00:00 2001 From: rjohnson Date: Tue, 3 May 2016 19:18:13 -0700 Subject: Added dockerfile and removed requirement for instrumentation lib to be in CWD --- Dockerfile | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ afl-dyninst.cpp | 2 +- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..eb2e2ca --- /dev/null +++ b/Dockerfile @@ -0,0 +1,49 @@ +FROM ubuntu:trusty +MAINTAINER rjohnson@moflow.org + +# dyninst ubuntu 14.04/x64 +RUN apt-get update && apt-get install -y \ + build-essential \ + gcc \ + g++ \ + make \ + cmake \ + git \ + ca-certificates \ + tar \ + gzip \ + vim \ + curl \ + libelf-dev \ + libelf1 \ + libiberty-dev \ + libboost-all-dev \ + && rm -rf /var/lib/apt/lists/* + +#RUN curl http://www.paradyn.org/release9.1.0/DyninstAPI-9.1.0.tgz | tar -zxvf - \ +# && cd DyninstAPI-9.1.0/ \ +RUN git clone https://github.com/dyninst/dyninst.git \ + && cd dyninst && mkdir build && cd build \ + && cmake .. \ + && make \ + && make install \ + && cd ../.. + +RUN curl http://lcamtuf.coredump.cx/afl/releases/afl-latest.tgz | tar -zxvf - \ + && cd afl-2* \ + && make \ + && make install \ + && cd .. + +RUN git clone https://github.com/talos-vulndev/afl-dyninst.git \ + && cd afl-dyninst \ + && ln -s `ls -d1 ../afl-2* | tail -1` afl \ + && make \ + && cp afl-dyninst /usr/bin \ + && cp libAflDyninst.so /usr/local/lib/ \ + && cd .. \ + && echo "/usr/local/lib" > /etc/ld.so.conf.d/dyninst.conf && ldconfig \ + && echo "export DYNINSTAPI_RT_LIB=/usr/local/lib/libdyninstAPI_RT.so" >> .bashrc + +# output usage and give a shell +CMD afl-dyninst ; /bin/bash -i diff --git a/afl-dyninst.cpp b/afl-dyninst.cpp index 38c99a4..aa45741 100644 --- a/afl-dyninst.cpp +++ b/afl-dyninst.cpp @@ -29,7 +29,7 @@ set runtimeLibraries; int bbSkip = 0; bool skipMainModule = false; -const char *instLibrary = "./libAflDyninst.so"; +const char *instLibrary = "libAflDyninst.so"; static const char *OPT_STR = "i:o:l:e:vs:dr:"; static const char *USAGE = " -i -o -l -e
-s \n \ -- cgit 1.4.1