goblin icon indicating copy to clipboard operation
goblin copied to clipboard

An impish, cross-platform binary parsing crate, written in Rust

Results 93 goblin issues
Sort by recently updated
recently updated
newest added

The relocation fields are bitfields, which makes the ordering all weird. Currently we only use the little endian ordering, but that won't work for big endian files. LLVM has code...

Parsing [this archive file](https://github.com/m4b/goblin/files/3774253/os.zip) seems to cause a panic: ``` thread 'main' panicked at 'no entry found for key', src/libcore/option.rs:1166:5 stack backtrace: 0: backtrace::backtrace::libunwind::trace at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.34/src/backtrace/libunwind.rs:88 1: backtrace::backtrace::trace_unsynchronized at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.34/src/backtrace/mod.rs:66...

I wrote some code to read the PDB70 info out of a PE using goblin, to implement the equivalent of `symstore.exe`. I found that [`CodeviewPDB70DebugInfo::signature`](https://github.com/m4b/goblin/blob/a293c5041437367d564e2e7f7c06b63ff1b4a76b/src/pe/debug.rs#L75) wasn't really that useful as...

enhancement
help wanted

This would be not hard but it will require write access to the repository. So only project owner or project collaborator could do this.

I’ve noticed that goblin has a very long compile time, relatively speaking. I’ve meant to look into this before whether there is something we can do about it (and also...

I have met some nasty exe that have a invalid .idata section, which will panic. Something like: ``` thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Malformed("Cannot find...

Right now some of the debug prints are hard to read because they spit out the byte arrays as arrays instead of something more byte readable. In particular this affects...

help wanted
good first issue

I want to fuzz goblin's parser again, this time with: 1. elf seeds using what we have now + seeds based on bsd elf binaries, etc. 2. mach-o seeds 3....

enhancement
help wanted
good first issue

This deeply annoys me: ```rust let peek = goblin::peek(&mut fd)?; if let Hint::Unknown(magic) = peek { println!("unknown magic: {:#x}", magic) } else { let bytes = { let mut v...

question

Similar to ELF's symbol iterator, we have a result on invocation, and elements are resultness, because we know the size beforehand.

help wanted
good first issue