rust-macho
rust-macho copied to clipboard
Mach-O File Format Parser for Rust
As one can see in [`loader.h`], some additional binding opcodes are defined: ```c #define BIND_OPCODE_THREADED 0xD0 #define BIND_SUBOPCODE_THREADED_SET_BIND_ORDINAL_TABLE_SIZE_ULEB 0x00 #define BIND_SUBOPCODE_THREADED_APPLY 0x01 ``` However, these are not found in this...
Whenever one calls `ExportsTrie::parse` on a data bytes slice containing a trie with non-UTF8 strings, for example if UTF-16 is encountered, `Err(Error::FromUTF8Error(...))` is returned. This makes the whole parsing fail...
This PR adds serde support gated behind the `serde` feature flag, allowing public structures this library provides to be serialized.
Found this bug while fuzzing the library. If the macho is malformed and has a rebase opcode of `RebaseOpcode::RebaseAndSkipping { times: 0xffffffff, skip: 0x4 }`, the iterator will try to...
Found this bug when fuzzing the crate When the export trie is malformed and is recursive, `Exported::parse()` will stack overflow when trying to parse it. Detect this condition and return...
Found this issue when fuzzing the crate. The export symbol flag kind uses that last two bits of `flags`, and therefore can take 4 values. Only 3 are officially defined...