binaryninja-api icon indicating copy to clipboard operation
binaryninja-api copied to clipboard

Parse more load_command in MachO files

Open seekbytes opened this issue 1 year ago • 0 comments

A mach-o binary is composed by an array of load commands that are parsed successfully by bninja. However there're some unique load command for which you don't implement any custom structure for.

This issue would propose:

  • create a custom structure 'dynamic' where you can include:
struct load_command __macho_load_command_[N] {
  enum load_command_type_t cmd = LC_SAMPLE;
  uint32_t cmdsize = 0x20  
  bytes buffer[cmdsize]
}

OR dedicate two/three days (or less, don't know how much time it would take) to document the most used load commands and write all the custom structs for it.

Current load commands not supported (bninja applies the default load_command structure):

  • [ ] LC_BUILD_VERSION
  • [ ] LC_SOURCE_VERSION
  • [ ] LC_LOAD_DYLINKER
  • [ ] LC_CODE_SIGNATURE

seekbytes avatar Jul 04 '24 20:07 seekbytes