Crate owl [] [src]

Owl is a Rust library for finding ROP gadgets in binary code.

use owl::error::*;
use owl::GadgetFinder;
use owl::X86;

let buf = &[0x8b, 0x45, 0x3c, 0xc9, 0xc3];
for gadget in X86::new().find(0, buf, 16)? {
    println!("{:?}", gadget);
}

For a more complete example, complete with ELF parsing curteousy of goblin, see owl-bin in src/main.rs.

Modules

error

Structs

Amd64

A ROP-gadget finder for the amd64 (64-bit) architecture.

Gadget

A ROP gadget

Mips

A ROP-gadget finder for the MIPS (Big-Endian) architecture.

Mipsel

A ROP-gadget finder for the MIPSEL (Little-Endian) architecture.

X86

A ROP-gadget finder for the x86 (32-bit) architecture.

Traits

GadgetFinder

Objects which implement GadgetFinder can find ROP gadgets.

Functions

dedup

Given a Vec of Gadget, deduplicates gadgets by bytes, so that there is only one instance of each unique gadget.