Skip to content

[DSC] Some Objective-C methods do not have parameter types applied #8087

@bdash

Description

@bdash

Version and Platform (required):

  • Binary Ninja Version: 5.3.9434 Ultimate, f7cf98e7
  • OS: macos
  • OS Version: 26.3.1
  • CPU Architecture: arm64

Bug Description:
When opening a macOS shared cache I've noticed that some Objective-C methods do not have parameter types applied.

For instance, -[MLMediaGroup initWithMediaLibrary:attributes:parent:] from MediaLibrary.framework shows up as:

id -[MLMediaGroup initWithMediaLibrary:attributes:parent:](int64_t arg1, int64_t arg2, int64_t arg3, int64_t arg4, int64_t arg5)

rather than the expected

id -[MLMediaGroup initWithMediaLibrary:attributes:parent:](struct MLMediaGroup* self, SEL sel, id mediaLibrary, id attributes, id parent)

That breaks type propagation and prevents ivars from being resolved.

That said, methods in CoreHandwriting.framework, such as -[CHMultiScriptTextSynthesizer initWithStyleInventory:], do have their argument types applied correctly. I'm not sure exactly what the relevant difference is here.

Steps To Reproduce:

  1. Load a macOS shared cache from /System/Volumes/Preboot/Cryptexes/OS/System/Library/dyld/dyld_shared_cache_arm64e
  2. Load MediaLibrary.framework, then navigate to -[MLMediaGroup initWithMediaLibrary:attributes:parent:].

Additional Information:

This appears to be a regression in 5.3, due to 1bb0012.

Metadata

Metadata

Assignees

Labels

Effort: LowIssues require < 1 week of workFile Format: SharedCacheIssue with the dyld_shared_cache pluginImpact: HighIssue adds or blocks important functionalityLanguage: Objective-CIssues involving decompilation of Objective-C binaries

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions