8000 iOS 18.4 _libdyld_initialize signature has changed so injector fails to detect as dyld4+ · Issue #1153 · frida/frida-core · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
iOS 18.4 _libdyld_initialize signature has changed so injector fails to detect as dyld4+ #1153
Open
@pachoo

Description

@pachoo

I ran into the issue described in frida/frida#3424 when testing on iOS 18.4

Doing a quick look into this, the signature for _libdyld_initialize has changed, so the injector is failing to detect this as a dyld4 environment.

In iOS 18.3 (from IDA)

__text:00000001A8E9DF30 ; dyld4::APIs::_libdyld_initialize(dyld4::LibSystemHelpers const*)
__text:00000001A8E9DF30 __ZN5dyld44APIs19_libdyld_initializeEPKNS_16LibSystemHelpersE

in iOS 18.4 (from IDA)

; __int64 __fastcall dyld4::APIs::_libdyld_initialize(dyld4::APIs *__hidden this)
__ZN5dyld44APIs19_libdyld_initializeEv

Apparently the LibSystemHelpers pointer has been dropped in iOS 18.4. So the code here is failing in this case since it's not also checking for the newer function: https://github.com/frida/frida-core/blob/main/src/fruity/injector.vala#L828

		private async void ensure_libsystem_initialized (Cancellable? cancellable) throws GLib.Error {
			if (libsystem_initialized)
				return;

			var dyld_symbols = yield fetch_dyld_symbols (cancellable);

			yield restore_main_thread_state (cancellable);

			uint64? libdyld_initialize = dyld_symbols["__ZN5dyld44APIs19_libdyld_initializeEPKNS_16LibSystemHelpersE"];
			if (libdyld_initialize != null)
				yield ensure_libsystem_initialized_for_dyld_v4_and_above (libdyld_initialize, dyld_symbols, cancellable);
			else
				yield ensure_libsystem_initialized_for_dyld_v3_and_below (dyld_symbols, cancellable);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0