Skip to content

Instantly share code, notes, and snippets.

@nnamon
Created August 15, 2022 19:29
Show Gist options
  • Save nnamon/160cec185bb3259a89b2e8ae9ea8c016 to your computer and use it in GitHub Desktop.
Save nnamon/160cec185bb3259a89b2e8ae9ea8c016 to your computer and use it in GitHub Desktop.
Run as the user you intend to use. No need for prepended sudo.
#!/bin/bash
SWAP=4G
export DEBIAN_FRONTEND=noninteractive
# Install dependencies.
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y build-essential libncursesw5-dev libreadline-gplv2-dev libssl-dev \
libgdbm-dev libc6-dev libsqlite3-dev libbz2-dev libffi-dev git gdb ltrace strace radare2 \
wabt binwalk foremost default-jdk default-jre procyon-decompiler golang cargo sagemath qemu \
ca-certificates curl gnupg lsb-release z3
# Install pyenv.
curl https://pyenv.run | bash
cat << 'EOF' >> ~/.bashrc
# Add pyenv executable to PATH by adding
# the following to ~/.profile:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
# Load pyenv automatically by appending
# the following to ~/.bashrc:
eval "$(pyenv init -)"
# and the following to ~/.profile:
eval "$(pyenv init --path)"
# Make sure to restart your entire logon session
# for changes to ~/.profile to take effect.
# Load pyenv-virtualenv automatically by adding
# the following to ~/.bashrc:
eval "$(pyenv virtualenv-init -)"
EOF
sleep 1
# Make very sure we load pyenv
source ~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"
# Install python 3.9.9
pyenv install 3.9.9
pyenv global 3.9.9
# Install some useful packages.
pip install pwntools
pip install z3-solver
pip install numpy
pip install ipython
# Install gef
bash -c "$(curl -fsSL http://gef.blah.cat/sh)"
# Install docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get -y install docker-ce docker-ce-cli containerd.io
sudo groupadd docker
# Add any users you want to the group for docker perms.
# sudo usermod -aG docker $USER
# Keep angr downloaded.
sudo docker pull angr/angr
# lol swap space go whirr
sudo fallocate -l $SWAP /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment