Created
August 15, 2022 19:29
-
-
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.
This file contains 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
#!/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