2 releases

Uses old Rust 2015

0.0.3 Feb 2, 2018
0.0.2 Jan 27, 2018
0.0.1 Jan 27, 2018

#38 in #finder

Apache-2.0 and LGPL-3.0

25KB
485 lines

Crates.io Version

Owl

Owl is a ROP-Gadget finder written in Rust. It provides a library to find ROP-gadgets, for inclusion in your Rust RE-tooling that requires ROP-gadgets.

Owl is licensed under the Apache 2.0 license, and is available on crates.io.


lib.rs:

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.

Dependencies

~5.5–8.5MB
~163K SLoC