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

Support for macOS and other platform? #11

Open
miku1958 opened this issue Dec 14, 2023 · 6 comments
Open

Support for macOS and other platform? #11

miku1958 opened this issue Dec 14, 2023 · 6 comments

Comments

@miku1958
Copy link

Any plan for this?

@noahsmartin
Copy link
Member

Hey @miku1958 we don't have any plans for this ourselves, but I believe @vmanot had started working on it for macOS, and any contributions for other platforms are welcome!

@miku1958
Copy link
Author

Glad to know that, thank you!

@vmanot
Copy link

vmanot commented Dec 14, 2023

@miku1958 I'll PR support for macOS support soon.

The place where I'm blocked on, however, is extracting the dyld cache from a macOS firmware file. @noahsmartin I'd love to know if we need to use a separate tool for macOS firmwares.

@landonepps
Copy link
Contributor

This works for macOS, though it extracts all binaries and not just the framework you need:
https://github.com/keith/dyld-shared-cache-extractor

dyld-shared-cache-extractor \
   /System/Volumes/Preboot/Cryptexes/OS/System/Library/dyld/dyld_shared_cache_arm64e \
   /tmp/libraries

@b3ntx
Copy link

b3ntx commented Feb 2, 2024

ipsw can replace the commands when looking for the unslid load address of a framework (or any Mach-O for that matter).

Dump load address of a framework:

➜  ipsw dsc macho -l 21B91__iPhone13,2_3/dyld_shared_cache_arm64e SwiftUI | grep -m1 -Eo 'addr=0x[0-9a-f]+' | cut -d'=' -f2
0x18b9f4000

Saves needing to install another tool, but if you still need to extract the framework you can use ipsw dsc extract <path_to_shared_cache> <framework>.

Bonus - download/extract shared cache from any device, any version without downloading the entire IPSW

ipsw download ipsw --macos --dyld --build 23C64, for example, to extract the shared cache from a macOS ipsw for Sonoma 14.2. If you already have the macOS ipsw, it's the same command from the README for extracting the shared cache (ipsw extract -d UniversalMac_14.3_23D56_Restore.ipsw). @vmanot

@Kyle-Ye
Copy link

Kyle-Ye commented Apr 1, 2024

A use case for macOS 14 + SwiftUI symbol needed. Currently I have to use macOS 12 to reproduce the bug and collect the related symbols.

EmergeTools/Pow#63 (comment)

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

6 participants