Hi,
IDA Pro ships with a plugin for handling Objective-C metadata. This metadata is used to apply type information to the type library, and it can also help resolve objc_msgSend call sites to potential implementations through UI actions.
As a motivating example, I often need to perform data-flow and control-flow analysis on binaries that contain Objective-C code. This requires resolving objc_msgSend calls. In some cases, those calls cannot be resolved precisely, so it becomes important to answer questions such as: “Which classes in the current context implement selector X?”
For workflows like this, it would be very useful to have access to the Objective-C metadata through a programmatic API that plugin developers can consume.
Without such access, developers are left reimplementing the metadata parsing themselves. I ended up doing this outside IDA, using my own Mach-O parser and Objective-C metadata parser. This feels like unnecessary duplicate work, especially since the relevant information is already available inside the IDA ecosystem.
Thank you for your attention.