Crates.io | libpefile |
lib.rs | libpefile |
version | 0.2.2 |
source | src |
created_at | 2021-06-30 08:29:21.18739 |
updated_at | 2021-07-02 07:55:50.760437 |
description | library to parse PE files (only iterating over MESSAGE_TABLE entries is supported at the moment) |
homepage | |
repository | https://github.com/janstarke/libpefile |
max_upload_size | |
id | 416753 |
size | 225,700 |
library to parse PE files
cargo install libpefile
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(())
}