Created
May 25, 2018 01:11
-
-
Save marnitto/02c46a2b99c3584488a0b401a5dcbbe3 to your computer and use it in GitHub Desktop.
Dockerfile for symgdb+pwndbg
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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