libpefile 0.2.1

library to parse PE files (only iterating over MESSAGE_TABLE entries is supported at the moment)
Documentation

https://crates.io/crates/libpefile Build-and-Test

libpefile

library to parse PE files

Installation

cargo install libpefile

Usage example

use libpefile::*;
use std::path::PathBuf;

fn main() -> std::io::Result<()> {
    let manifest_dir = std::env::var("CARGO_MANIFEST_DIR").unwrap();
    let dll_file = PathBuf::from(format!("{}/samples/msaudite.dll", manifest_dir));
    let pefile = PEFile::new(dll_file)?;

    for msg in pefile.messages_iter()?.filter_map(|r| r.ok()) {
        println!("{}: '{}'", msg.msg_id, msg.text);
    }
    Ok(())
}