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

validity check #8

Open
joevt opened this issue Jan 10, 2023 · 2 comments
Open

validity check #8

joevt opened this issue Jan 10, 2023 · 2 comments

Comments

@joevt
Copy link

joevt commented Jan 10, 2023

I can successfully extract arm64e and x86_64h without issue.

But using this command in Monterey to extract x86_64:

dyld-shared-cache-extractor /System/Library/dyld/dyld_shared_cache_x86_64 /Volumes/Devs/Developer/dyldSharedCacheFrameworks/Monterey/x86_64

I get this error:

Error: dyld shared cache code signature for page 51541 is incorrect.
Error: shared cache failed validity check for file at /System/Library/dyld/dyld_shared_cache_x86_64

and nothing gets extracted.

I believe it's because of Lilu/WhateverGreen patches being made to some frameworks.
I'm using OCLP on a MacPro3,1 to run Big Sur, Monterey, Ventura.
I also use OCLP to load Lilu/WhateverGreen patches for older macOS versions.

Is there a way to bypass shared cache validity check?
Is there a way to discover what framework page 51541 belongs to?

@keith
Copy link
Owner

keith commented Jan 10, 2023

Interesting! It doesn't look like there's a way to bypass that check reading the code we're relying on here:

https://github.com/apple-oss-distributions/dyld/blob/c8a445f88f9fc1713db34674e79b00e30723e79d/other-tools/dsc_extractor.cpp#L68-L192

as far as getting more info about the issue, I'm not sure the format is organized in that way, but you could try building the dyld_shared_cache_util tool in that repo and messing around with the error messages a bit.

Alternatively you could try to use a different version of Xcode (probably different major version) to see if it's just that you're behind / ahead of whatever format changes happened.

@joevt
Copy link
Author

joevt commented Jan 11, 2023

I think I might need to look at the Lilu/WhateverGreen user land patch method for recent macOS versions, to see if there's a way to not patch RAM while not in the expected process. For example, the Finder or the cp command should be able to do a copy without the patch being applied if the patch is only meant for the WindowServer or displaypolicyd processes.

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

2 participants