Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
tneotia opened this issue Sep 3, 2022 · 3 comments
Open

Comments

@tneotia
Copy link

tneotia commented Sep 3, 2022

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

@keith
Copy link
Owner

keith commented Sep 4, 2022

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!

@amanjeetsingh150
Copy link

@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.

@keith
Copy link
Owner

keith commented Sep 19, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants