ctf-tools/pwndbg/install
Steven Van Acker 7144e756e5 fail hard on any error + verify that all scripts use bash -ex to fail
early on any error + anticipate that some tools can't be installed by
now, but we still want the test to return success to satisfy travis-ci
2017-02-16 22:40:17 +01:00

44 lines
838 B
Bash
Executable file

#!/bin/bash -ex
set -e -o pipefail
git clone --depth 1 https://github.com/pwndbg/pwndbg
source ctf-tools-venv-activate
pushd pwndbg
pip install -Ur ./requirements.txt
popd
# pwndbg brings it's own capstone/unicorn submodules
# we ignore this for now and install the deps ourselfs
#git submodule update --init --recursive
# install capstone/unicron dependencies
pip install -U capstone
manage-tools install unicorn
mkdir bin
cat >> bin/pwndbg <<EOF
#!/bin/sh
exec gdb -q -ex init-pwndbg "\$@"
EOF
chmod +rx bin/pwndbg
cd pwndbg
# make sure gdbinit exists
touch ~/.gdbinit
if ! grep "init-pwndbg" ~/.gdbinit; then
cat >> ~/.gdbinit <<EOF
####
# added by ctf-tools
define init-pwndbg
source $PWD/gdbinit.py
end
document init-pwndbg
Initializes the pwndbg gdb extension (https://github.com/pwndbg/pwndbg)
end
####
EOF
fi