3 releases

0.1.3 Sep 8, 2024
0.1.2 Sep 8, 2024
0.1.1 Dec 25, 2022
0.1.0 Dec 21, 2022

#101 in Memory management

MIT license

12KB
165 lines

shellexec

Build Status Latest Version

Cross-platform shellcode executor in rwx memory

Usage: shellexec <binary>

Executes shellcode

Positional Arguments:
  binary            path to binary file

Options:
  --help            display usage information

Implementation

virtual-memory is used to execute shellcode. This helper crates allocates rwx memory using the system functions that is described here:

Then the contents of the file are copied into this memory, the address of this memory is converted into a function and called

Installing from crates.io

cargo install shellexec

Building

cargo build --release

Usage

# linux
cargo run --release -- shellexec/test_input/linux

# windows
cargo run --release -- shellexec/test_input/windows

# output
hello from shellcode!

Dependencies

~1.6–8MB
~53K SLoC