keith / dyld-shared-cache-extractor

A CLI for extracting libraries from Apple's dyld shared cache file

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to get actual objc headers from the dump this tool produces?

tneotia opened this issue · comments

This may be a noob question but I'm lost on how to parse the dump into a human-readable format, specifically into objc header files. As the README suggested, I ran dyld-shared-cache-extractor /System/Library/dyld/dyld_shared_cache_arm64e /tmp/libraries and it works great - gives me an output for all the frameworks I was expecting.

However when opening the file inside the framework, it appears to be encrypted or obfuscated in some way - the actual headers aren't readable. Is there some method I can use to read them? TIA!

image

So the dump here is actually the dylibs contained within the shared cache. The intention is that you'd then open them with Hopper or inspect them in other ways. For getting headers specifically you can run class-dump against the binaries though!

@keith Thanks for the great tool 🙌 , the executable generated is in Objective C or C/C++? Because some of the executables not generate any header files when I use class-dump (I am trying with executables in PrivateFrameworks). It raises a warning:

This file does not contain any Objective-C runtime information.

AFAIUI the binaries are kind of different from this. So if class-dump doesn't work it might need some changes to support this. Hopper might still be helpful