{"repo":"m4b/goblin","free":true,"listed":false,"github":"https://github.com/m4b/goblin","clone":"git clone https://github.com/m4b/goblin.git","description":"An impish, cross-platform binary parsing crate, written in Rust","language":"Rust","stars":1538,"topics":["elf","mach","archive","pe","binary-analysis","reverse-engineering","cross-platform"],"license":"MIT","category":"security-tools","readme_excerpt":"libgoblin [![Actions][actions-badge]][actions-url] [![crates.io version][crates-goblin-badge]][crates-goblin] [actions-badge]: https://github.com/m4b/goblin/actions/workflows/main.yml/badge.svg [actions-url]: https://github.com/m4b/goblin/actions [crates-goblin-badge]: https://img.shields.io/crates/v/goblin.svg [crates-goblin]: https://crates.io/crates/goblin Documentation https://docs.rs/goblin/ changelog Usage Goblin requires rustc 1.85.0 (Rust 2024 edition). Add to your Cargo.toml Features awesome crate name zero-copy, cross-platform, endian-aware, ELF64/32 implementation - wow! zero-copy, cross-platform, endian-aware, 32/64 bit Mach-o parser - zoiks! PE 32/64-bit parser - bing! a Unix and BSD style archive parser (latter courtesy of [@willglynn]) - huzzah! many cfg options - it will make your head spin, and make you angry when reading the source! fuzzed - \"I am happy to report that goblin withstood 100 million fuzzing runs, 1 million runs each for seed 1\\ 100.\" - [@sanxiyn] tests libgoblin aims to be your one-stop shop for binary parsing, loading, and analysis. Use-cases Goblin primarily supports the following important use cases: 1. Core, std-free #[repr(C)] structs, tiny compile time, 32/64 (or both) at your leisure. 1. Type punning. Define a function once on a type, but have it work on 32 or 64-bit variants - without really changing anything, and no macros! See examples/automagic.rs for a basic example. 1. std mode. This throws in read and write impls via Pread and Pwr","default_branch":null,"files":null,"tree":[],"storefront":"/r/m4b","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/m4b/goblin/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}