Location of framework binaries under SIP?

When looking under /System/Library/Frameworks, it is apparent that while the framework structure is all there, its binary is not. I presume this is due to SIP hiding binaries from the file system.

Is there any magic incantation to access those binaries for non-nefarious purposes (e.g. class-dump)? If one gets the NSBundle for one of the classes in AddressBook.framework, for example, its executable path is still reported as:

/System/Library/Frameworks/AddressBook.framework/Versions/A/AddressBook

...even though the file isn't part of the file system and thus cannot be accessed. Is there a way to get to the object code without having to disable SIP or otherwise cripple one’s system?

Thank you!

Accepted Reply

Big Sur introduces a dyld shared cache, where all of the system frameworks are built into a single optimized binary. The individual framework binaries are no longer present in the OS.

Replies

Big Sur introduces a dyld shared cache, where all of the system frameworks are built into a single optimized binary. The individual framework binaries are no longer present in the OS.