Skip to content

Instantly share code, notes, and snippets.

@marnitto
Created May 25, 2018 01:11
Show Gist options
  • Save marnitto/02c46a2b99c3584488a0b401a5dcbbe3 to your computer and use it in GitHub Desktop.
Save marnitto/02c46a2b99c3584488a0b401a5dcbbe3 to your computer and use it in GitHub Desktop.
Dockerfile for symgdb+pwndbg
FROM ubuntu:16.04
MAINTAINER [email protected]
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
sudo wget git python make ca-certificates && \
wget https://bootstrap.pypa.io/get-pip.py -O /tmp/get-pip.py && \
python /tmp/get-pip.py
# symgdb installation step from symgdb repo
RUN apt-get install -y --no-install-recommends \
build-essential libcap-dev cmake libboost-all-dev libcapstone-dev \
gcc-multilib texinfo
RUN git clone https://github.com/SQLab/symgdb /opt/symgdb
WORKDIR /opt/symgdb
RUN git clone https://github.com/Z3Prover/z3 && \
cd z3 && \
python scripts/mk_make.py --python && \
cd build && \
make && \
sudo make -j $(grep processor < /proc/cpuinfo | wc -l) install
RUN git clone https://github.com/JonathanSalwan/Triton.git && \
cd Triton && \
( \
[ $(git rev-parse HEAD)="2747ba0384e370e59bc35e5eda3e3b1594f85541" ] && \
( echo "ZGlmZiAtLWdpdCBhL3NyYy9saWJ0cml0b24vYXN0L3ozL3RyaXRvblRvWjNBc3QuY3BwIGIvc3JjL2xpYnRyaXRvbi9hc3QvejMvdHJpdG9uVG9aM0FzdC5jcHAKaW5kZXggYjQxOTQ2NC4uYmI0NTZlNyAxMDA2NDQKLS0tIGEvc3JjL2xpYnRyaXRvbi9hc3QvejMvdHJpdG9uVG9aM0FzdC5jcHAKKysrIGIvc3JjL2xpYnRyaXRvbi9hc3QvejMvdHJpdG9uVG9aM0FzdC5jcHAKQEAgLTI1LDE5ICsyNSwxNSBAQCBuYW1lc3BhY2UgdHJpdG9uIHsKIAogCiAgICAgdHJpdG9uOjpfX3VpbnQgVHJpdG9uVG9aM0FzdDo6Z2V0VWludFZhbHVlKGNvbnN0IHozOjpleHByJiBleHByKSB7Ci0gICAgICB0cml0b246Ol9fdWludCByZXN1bHQgPSAwOwotCiAgICAgICBpZiAoIWV4cHIuaXNfaW50KCkpCiAgICAgICAgIHRocm93IHRyaXRvbjo6ZXhjZXB0aW9uczo6RXhjZXB0aW9uKCJUcml0b25Ub1ozQXN0OjpnZXRVaW50VmFsdWUoKTogVGhlIGFzdCBpcyBub3QgYSBudW1lcmljYWwgdmFsdWUuIik7CiAKICAgICAgICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX01fWDY0KQotICAgICAgWjNfZ2V0X251bWVyYWxfdWludDY0KHRoaXMtPmNvbnRleHQsIGV4cHIsICZyZXN1bHQpOworICAgICAgcmV0dXJuIGV4cHIuZ2V0X251bWVyYWxfdWludDY0KCk7CiAgICAgICAjZW5kaWYKICAgICAgICNpZiBkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfTV9JWDg2KQotICAgICAgWjNfZ2V0X251bWVyYWxfdWludCh0aGlzLT5jb250ZXh0LCBleHByLCAmcmVzdWx0KTsKKyAgICAgIHJldHVybiBleHByLmdldF9udW1lcmFsX3VpbnQoKTsKICAgICAgICNlbmRpZgotCi0gICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAogCg==" | base64 -d > triton_issue679.diff ) && \
git apply triton_issue679.diff \
) && \
mkdir build && \
cd build && \
cmake .. && \
sudo make -j $(grep processor < /proc/cpuinfo | wc -l) install
RUN pip2 install --upgrade -r requirements.txt
RUN ./build.sh
RUN echo "source /opt/symgdb/symgdb.py" > /root/.gdbinit
# pwndbg
WORKDIR /opt
RUN git clone https://github.com/pwndbg/pwndbg && \
cd pwndbg && \
./setup.sh
RUN mkdir /data
WORKDIR /data
VOLUME /data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment