arandomdev/DyldExtractor

symbolicating the __objc_classrefs and __objc_superrefs sections

Closed this issue · 2 comments

Describe the bug
currently, the pointers in the __objc_classrefs and __objc_superrefs sections point outside of the mapped address space of the binary to class objects in other images within the dsc. In many cases, they have symbols exported by the other images. It would be great if they could be fixed up somehow as well, e.g. by creating a fake section with the corresponding symbols or importing them somehow.

To Reproduce

  1. iOS version 15.4
  2. DYLD target device and identifier, i.e iPhone10,4
  3. Extract any library and look at the __objc_classrefs and __objc_superrefs section

Additional context
It looks like this in Binary Ninja: The entries without a symbol point outside the Mach-O and don't have a symbol.
image

Okay I added processing for __objc_protorefs, __objc_classrefs, and __objc_superrefs with 8290c86, and 2.0.7 on pypi.

Thanks!