Courses
- CS496/596: Network Security
- CS493/593: Digital Forensics
- CS491/591: Introduction to Computer Security
- CS410/510: System Administration and DevOps
- CS410/510: IoT Security
Pages
Not all of these pages are complete or useful yet. I’m working on it.
- FreeBSD Setup Script
- Networking Fundamentals
- Powershell profile
- Software configuration
- Technical Writing
- Ubuntu configuration
- VM Setup on Windows
- VM Setup on macOS
- tmux config
Useful links for learning
- tmux cheatsheet
- Linux Handbook on tmux
- Markdown
- The C Book
- The GNU
make
manual - Managing projects with
make
- The
chmod
calculator - The Python tutor
- The Linux Command Line (Direct PDF link)
- Adventures with the Linux Command Line
- The Linux Development Platform
- gdb tutorial
- gef manual
Shell setup without sudo privs
#!/usr/bin/env zsh
#install gef
bash -c "$(curl -fsSL https://gef.blah.cat/sh)"
if [ -e $(which pip) ]; then
pip install --user keystone-engine ropper capstone unicorn requests
elif [ -e $(which pip3) ]; then
pip3 install --user keystone-engine ropper capstone unicorn requests
fi
mkdir -p $HOME/bin
mkdir -p $HOME/clones
#install useful additions
#useful little CLI hex viewer
# cargo install hexyl
curl -s -L https://github.com/sharkdp/hexyl/releases/download/v0.13.1/hexyl-v0.13.1-i686-unknown-linux-musl.tar.gz | tar -x -z -C $HOME -f -
mv hexyl-v0.13.1-i686-unknown-linux-musl/hexyl $HOME/bin/
rm -rf hexyl-v0.13.1-i686-unknown-linux-musl
#better pager, called bat
curl -s -L https://github.com/sharkdp/bat/releases/download/v0.23.0/bat-v0.23.0-x86_64-unknown-linux-musl.tar.gz | tar -x -z -C $HOME -f -
mv bat-v0.23.0-x86_64-unknown-linux-musl/bat $HOME/bin/batcat
ln $HOME/bin/batcat $HOME/bin/bat
rm -rf bat-v0.23.0-x86_64-unknown-linux-musl
if [ ! -e $HOME/antigen.zsh ]; then
curl -L git.io/antigen > $HOME/antigen.zsh
fi
if [ ! -d $HOME/clones/sunwait ]; then
git clone https://github.com/risacher/sunwait.git $HOME/clones/sunwait
cd $HOME/clones/sunwait
make
cp $HOME/clones/sunwait/sunwait $HOME/bin/sunwait
cd $HOME
fi
if [ ! -d $HOME/clones/bat-extras ]; then
git clone https://github.com/eth-p/bat-extras.git $HOME/clones/bat-extras
cp $HOME/clones/bat-extras/bin/* $HOME/bin/
fi
if [ ! -d $HOME/clones/tmux-powerline ]; then
git clone https://github.com/erikw/tmux-powerline.git $HOME/clones/tmux-powerline
fi
if [ ! -d $HOME/clones/diff-so-fancy ]; then
git clone https://github.com/so-fancy/diff-so-fancy.git $HOME/clones/diff-so-fancy
fi
if [ ! -d $HOME/.tmux/plugins/tpm ]; then
mkdir -p $HOME/.tmux/plugins/tpm
git clone https://github.com/tmux-plugins/tpm $HOME/.tmux/plugins/tpm
fi
if [ ! -d $HOME/.oh-my-zsh ]; then
git clone https://github.com/ohmyzsh/ohmyzsh.git $HOME/.oh-my-zsh
fi
ln -s $HOME/clones/diff-so-fancy $HOME/bin/diff-so-fancy
git config --global user.name "" #fill me in!
git config --global user.email "" #fill me in!
git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"
git config --global interactive.diffFilter "diff-so-fancy --patch"
git config --global color.ui true
git config --global color.diff-highlight.oldNormal "red bold"
git config --global color.diff-highlight.oldHighlight "red bold 52"
git config --global color.diff-highlight.newNormal "green bold"
git config --global color.diff-highlight.newHighlight "green bold 22"
git config --global color.diff.meta "11"
git config --global color.diff.frag "magenta bold"
git config --global color.diff.func "146 bold"
git config --global color.diff.commit "yellow bold"
git config --global color.diff.old "red bold"
git config --global color.diff.new "green bold"
git config --global color.diff.whitespace "red reverse"
chsh -s /bin/zsh
#only if $HOME is on NFS
env GEM_HOME=/disk/scratch/$(whoami)
gem install colorls
#for all classes except 496:
wget -q -O setup.tar.bz2 http://web.cecs.pdx.edu/~dmcgrath/setup.tar.bz2
#for cs496:
#wget -q -O setup.tar.bz2 http://web.cecs.pdx.edu/~dmcgrath/setup_496.tar.bz2
tar xavf setup.tar.bz2 -C ~/