GDBleed – Dynamic-Static binary instrumentation framework on top of GDB
GDBleed is a gdb wrapper exposing a set of commands for x86-64, ARM and MIPS (x86 and ARM thumb-mode in progress) architectures to perform binary instrumentation.
The objective was to exploit the hackish features of GDB python API, while ignoring the software performance attribute (for now). And in the end to have a user-friendly framework.
GDBleed focus is applicability, then we have efficiency. The more CPU archs it does suport the better it is.
start command or attach gdb to the debugged processsource gdbleed.py tests folder# GEF gdb extension, ref https://github.com/hugsy/gef
sudo apt-get -y install unzip cmake binutils # python's version which your gdb intalled supports
export PYTHON_VER="python3"
sudo apt-get install ${PYTHON_VER}-distutils ${PYTHON_VER}-setuptools
# Choose module versions (i suggest not changing the major number version)
export KEYSTONE_VER="0.9.2"
export LIEF_VER="0.12.3" ./setup.sh
Required for hooking/instrumentation also aka Inline GOT hooking
export TARGET=arm-linux-gnueabi
sudo apt-get install -y binutils-${TARGET} gcc-${TARGET}
export TARGET=mips-linux-gnu
sudo apt-get install -y binutils-${TARGET} gcc-${TARGET} augroup filetypedetect
au! BufRead,BufNewFile *.c.bleed setfiletype c
augroup END MySQL is the most popular open-source relational database management system. It is fast, reliable, and a…
Git is the most widely used version control system in the world. It was created by…
Go (also called Golang) is an open-source programming language built by Google. It is designed to…
Visual Studio Code (VS Code) is an open-source code editor developed by Microsoft. It is one…
Nginx (pronounced "engine x") is an open-source, high-performance web server and reverse proxy. It is used…
Apache is one of the most widely used open-source web servers in the world. It is…