A tool with interactive shell for finding gadgets in executable files
Project description
GadgetFinder
A tool with interactive shell for finding gadgets in executable files. Support ELF and PE file format, multiple architectures and modes: x86, ARM, 32bit, 64 bit. Can also assemble and disassemble instructions.
Requirements
- capstone
- keystone
- pyelftools
- pefile
Getting started
create a virtualenv:
virtualenv env
source env/bin/activate # activate the Python virtualenv
Install development dependencies:
pip install -r requirements.txt
Run the interactive shell:
cd src/gadgetfinder
python3 shell.py
Examples
In the interactive shell, run:
asm inc eax; add eax,ecx --arch x86 --mode 64
disas ['0xff', '0xc0', '0x1', '0xc8'] --mode 64
asm pop ebp; ret
disas ['0x5d', '0xc3']
load ../../data/prog.file
info
dump
search pop ebp
Build your own package
You can edit configuration in setup.config.
To build:
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade build
python3 -m build
Package usage
Installation
$ pip install gadgetfinder==0.0.1
Usage
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gadgetfinder-1.0.0.tar.gz
(11.5 kB
view hashes)
Built Distribution
Close
Hashes for gadgetfinder-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce0502d803898e840b06d983d85c8b30b930fdf495a2421bcd8d439c7836ec7f |
|
MD5 | 559a8700afffc586fb3bdddb0c301d59 |
|
BLAKE2b-256 | 12c43cd6995a1cd06c396a73172d21b4be2017600a62e3fd3bdee4910f6e76e4 |