Skip to content
This repository was archived by the owner on Jul 21, 2025. It is now read-only.

janstarke/libpefile

Repository files navigation

Caution

libpefile is leaving github

Why?

I believe that all men (and women, and all human between and above) are created equal. In this mindset, it does not make sense to judge people based on their birthplace, or their language, color, religion, or whatsoever.

I believe that who you are is made up of what you do. If you are caring towards other people, then that's you are. If you do harm to other people, then that's who you are.

I'm concerned of what is currently happening in the United States. I don't like it when a government thinks it is above the law. I don't like it when a government doesn't serve the people, but sees people as a threat. But that's politics.

Github is part of Microsoft, and Microsoft is supporting this government. For example, Microsoft blocked the mail accounts of ICC members because of political reasons. I don't want to get my accounts blocked or deleted arbitrarily. Therefore, I'm going to not support Microsoft in any way. That's why I'll move all my repositories away from github.

We had a good time. Cheers.

Where?

The new place-to-be for libpefile is https://codeberg.org/janstarke/libpefile.

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(())
}

About

library to parse PE files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages