Skip to content

fix(Sideloading): apply infoDictionary hook eagerly at load time#443

Open
iwayso wants to merge 1 commit into
dayanch96:mainfrom
iwayso:main
Open

fix(Sideloading): apply infoDictionary hook eagerly at load time#443
iwayso wants to merge 1 commit into
dayanch96:mainfrom
iwayso:main

Conversation

@iwayso

@iwayso iwayso commented May 7, 2026

Copy link
Copy Markdown

The previous implementation installed the NSBundle infoDictionary hook lazily via MSHookMessageEx, triggered only after SFAuthenticationViewController appeared. With a custom sideloading bundle ID (e.g. app.pegasus6716.nectarine107), Google SSO blocks auth before that view controller ever appears, so the hook never ran and Google saw the wrong bundle ID.

This fix replaces the lazy MSHookMessageEx approach with an eager Logos %hook that is applied at dylib load time, before any app code runs. Also scoped objectForInfoDictionaryKey: to mainBundle only to avoid side effects on system/framework bundles.

The previous implementation installed the NSBundle infoDictionary hook lazily via MSHookMessageEx, triggered only after SFAuthenticationViewController appeared. With a custom sideloading bundle ID (e.g. app.pegasus6716.nectarine107), Google SSO blocks auth before that view controller ever appears, so the hook never ran and Google saw the wrong bundle ID.

This fix replaces the lazy MSHookMessageEx approach with an eager Logos %hook that is applied at dylib load time, before any app code runs. Also scoped objectForInfoDictionaryKey: to mainBundle only to avoid side effects on system/framework bundles.
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

Successfully merging this pull request may close these issues.

1 participant