keystone 0.9.0

Rust bindings for the keystone-engine
Documentation
  • Coverage
  • 27.95%
    45 out of 161 items documented1 out of 55 items with examples
  • Size
  • Source code size: 54.63 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 6.35 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • nl5887 wtdcode

keystone-rs

Rust bindings for the keystone engine.

Sample

extern crate keystone;
use keystone::{Keystone, Arch, Mode, OptionType, OptionValue};

fn main() {
    let engine = Keystone::new(Arch::X86, Mode::Mode32)
        .expect("Could not initialize Keystone engine");

    engine.option(OptionType::Syntax, OptionValue::SyntaxNASM)
        .expect("Could not set option to nasm syntax");

    let result = engine.asm("mov ah, 0x80".to_string(), 0)
        .expect("Could not assemble");

    let _ = result;
}

Testing

cargo test

Contributors

  • Remco Verhoef (@remco_verhoef)

Special thanks to:

  • Sébastien Duquette (@ekse) for his unicorn-rs binding