An open API service indexing awesome lists of open source software.

https://github.com/sapphicart/eatshell

Automate the process of extracting, loading and assembling shellcode.
https://github.com/sapphicart/eatshell

python shellcode shellcode-assembler shellcode-extractor

Last synced: 8 months ago
JSON representation

Automate the process of extracting, loading and assembling shellcode.

Awesome Lists containing this project

README

          

eatshell


Summary
Requirements
Installation
Usage
License

## Summary

eatshell is a simple command line tool to automate the process of shellcode extraction, loading and assembling. eatshell contains three commands `extract`, `load`, and `assemble`.

>[!NOTE]
**Note: eatshell is meant for small-scale application and primarily created for personal use only.**

## Requirements

- Python 3.xx

## Installation

There are two ways to install `eatshell`:

Install the tool directly with `pip`
```bash
pip install eatshell
```

Or, you can build from source. Download the latest [release](https://github.com/sapphicart/eatshell/releases).

## Usage

Use the `--help` switch to read the `COMMANDS` and `OPTIONS` available.
```bash
$ eatshell --help
Usage: eatshell.py [OPTIONS] COMMAND [ARGS]...

Options:
--hush Suppress Usage and Warning info.
--help Show this message and exit.

Commands:
assemble
extract
load
```
There are three commands available for `eatshell`:
- assemble
- extract
- load

```
$ eatshell assemble --shellcode --file

Use this command to assemble given shellcode
into an ELF file with +rwx permissions for
the owner.
```

```
$ eatshell extract --file --hex

Use this command to extract shellcode
from an existing ELF file.
Turn --hex on for hex encoding.
```

```
$ eatshell load --shellcode

Use this command to run the provided
shellcode interactively.
Use with caution, might not work everytime.
```

>[!WARNING]
Create an `.env` file with the following variables. Otherwise, the program might not work.

`.env` file structure example:
```
OS=linux
ARCH=amd64
LOG_LEVEL=error
```

## License
Distributed under [MIT](LICENSE) License.