Skip to content
An in depth tutorial on how to do binary exploitation
C Python Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
exercise-1 Rewrote sections of excercise-1 and added one important backreference… Apr 16, 2018
exercise-2 Added code formatting Apr 16, 2018
exercise-3 Update Jun 17, 2018
exercise-4 Rewrote excercise-4/README Apr 16, 2018
terms Restructured glossary, replaced incorrect information with correct in… Apr 16, 2018 Added link to first video + extra setup bit Sep 30, 2017

how2exploit_binary: get your hack on.

A note from the creator

Greetings, fellow hacker, hobbyist, or computer enthusiast. If you've been looking for a place to start learning binary exploitation, then you're in luck. This tutorial is intended for anyone with experience in coding, ideally C or C++, but I only knew Python when I started.

Written by someone who is just barely better than "incompetent," I'll be explaining how I learned my skills. These tutorials will be a bit long winded, but hopefully they will be informative and entertaining. Please feel free to contact me about any clarifications that should be included in the tutorials.

This is intended for Linux. It's free if you don't already have it. Don't want to dual boot? Get a VM.

-Best of luck


The Grand Glossary of Terms

I've compiled this list of as many useful things as I could find. It contains all sorts of goodies that I wish I had found or had explained to me earlier. If you have a question, it can probably be answered in here. Otherwise, get your Google-Fu on

External Tools.

I strongly recommend you install and use the following tools to make your life a bit easier:

  • longld/peda: I use this tool in all of these tutorials. It provides a wide range of useful functions and makes gdb far more user friendly. Just follow the installation instructions in the repo.

  • Gallopsled/pwntools: pwntools is an exploit framework built in my favorite language, python. It has a whole slew of useful functions and chicanery that makes the exploit process more fun and less painful. Install with: $ sudo pip install pwntools

Introductory Tutorials:

Buffer Overflows and ROP:

Heap Exploitation:

  • More to come here soon ;)
You can’t perform that action at this time.