mirror of
https://github.com/zardus/ctf-tools
synced 2024-11-10 08:24:12 +00:00
Introduced install possibility via python virtualenv and pip and switched pwntools and binjitsu to it
This commit is contained in:
parent
b84c8f9b06
commit
254eaf71ec
8 changed files with 76 additions and 30 deletions
34
bin/ctf-tools-pip
Executable file
34
bin/ctf-tools-pip
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e -o pipefail
|
||||||
|
|
||||||
|
PY_VERSION=2
|
||||||
|
if [[ "$0" =~ \.+pip3 ]]; then
|
||||||
|
PY_VERSION=3
|
||||||
|
fi
|
||||||
|
if [[ "$0" =~ \.+pip2 ]]; then
|
||||||
|
PY_VERSION=2
|
||||||
|
fi
|
||||||
|
|
||||||
|
CTF_TOOLS_VE="ctftools"
|
||||||
|
if [[ "PY_VERSION" -eq 3 ]]; then
|
||||||
|
CTF_TOOLS_VE="${CTF_TOOLS_VE}3"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export WORKON_HOME=~/.virtualenvs
|
||||||
|
if [[ ! -d "$WORKON_HOME" ]]; then
|
||||||
|
mkdir -p "$WORKON_HOME"
|
||||||
|
fi
|
||||||
|
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
|
||||||
|
|
||||||
|
source $(which virtualenvwrapper.sh)
|
||||||
|
|
||||||
|
if ! workon "$CTF_TOOLS_VE" 2>&1 1>/dev/null; then
|
||||||
|
echo "#### Creating python#PY_VERSION virtualenv '$CTF_TOOLS_VE' ####" >&2
|
||||||
|
# for some reason mkvirtualenv returns non-zero even if it
|
||||||
|
# succeeds?
|
||||||
|
mkvirtualenv -p $(which "python$PY_VERSION") "$CTF_TOOLS_VE" || true
|
||||||
|
echo "#### Switching to '$CTF_TOOLS_VE' virtualenv" >&2
|
||||||
|
workon "$CTF_TOOLS_VE" || (deactivate && workon "$CTF_TOOLS_VE")
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec pip "$@"
|
1
bin/ctf-tools-pip3
Symbolic link
1
bin/ctf-tools-pip3
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
ctf-tools-pip
|
3
binjitsu/install
Executable file
3
binjitsu/install
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
ctf-tools-pip install --upgrade 'git+https://github.com/binjitsu/binjitsu.git'
|
17
binjitsu/install-root
Executable file
17
binjitsu/install-root
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
case "$DISTRI" in
|
||||||
|
"debian")
|
||||||
|
apt-add-repository -y ppa:pwntools/binutils
|
||||||
|
apt-get update
|
||||||
|
apt-get -y install binutils-.*-linux-gnu
|
||||||
|
;;
|
||||||
|
"archlinux")
|
||||||
|
pacman -Syu --noconfirm binutils
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown distribution"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
3
binjitsu/uninstall
Executable file
3
binjitsu/uninstall
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
ctf-tools-pip uninstall binjitsu
|
|
@ -1,30 +1,4 @@
|
||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
# pwnutils
|
# pwnutils
|
||||||
git clone --depth 1 https://github.com/Gallopsled/pwntools.git
|
ctf-tools-pip install --upgrade 'git+https://github.com/Gallopsled/pwntools.git'
|
||||||
cd pwntools
|
|
||||||
pip install -r requirements.txt
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
# binutils
|
|
||||||
#curl https://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.gz | tar xz
|
|
||||||
#mkdir binutils-build
|
|
||||||
#cd binutils-build
|
|
||||||
#export AR=ar
|
|
||||||
#export AS=as
|
|
||||||
#../binutils-2.25/configure --prefix=$(dirname $PWD)/binutils-inst --enable-multilib
|
|
||||||
#make -j $(nproc)
|
|
||||||
#make install
|
|
||||||
|
|
||||||
mkdir -p bin
|
|
||||||
cd bin
|
|
||||||
for i in $(yes n | pip uninstall pwntools | grep bin)
|
|
||||||
do
|
|
||||||
mv $i $(basename $i).real
|
|
||||||
cat <<END > $(basename $i)
|
|
||||||
#!/bin/bash
|
|
||||||
PATH=/usr/bin:\$PATH $PWD/$(basename $i).real "\$@"
|
|
||||||
END
|
|
||||||
chmod 755 $(basename $i)
|
|
||||||
done
|
|
||||||
cd ..
|
|
||||||
|
|
|
@ -1,6 +1,17 @@
|
||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
apt-add-repository -y ppa:pwntools/binutils
|
case "$DISTRI" in
|
||||||
apt-get update
|
"debian")
|
||||||
apt-get -y install binutils-.*-linux-gnu
|
apt-add-repository -y ppa:pwntools/binutils
|
||||||
|
apt-get update
|
||||||
|
apt-get -y install binutils-.*-linux-gnu
|
||||||
|
;;
|
||||||
|
"archlinux")
|
||||||
|
pacman -Syu --noconfirm binutils
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown distribution"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
3
pwntools/uninstall
Executable file
3
pwntools/uninstall
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
ctf-tools-pip uninstall pwntools || true
|
Loading…
Reference in a new issue