Skip to content

[MachO] REGRESSION: Opening a universal Mach-O binary no longer allows me to select an architecture #7969

@bdash

Description

@bdash

Version and Platform (required):

  • Binary Ninja Version: 5.3.9135-dev Ultimate, d7369f57
  • OS: macos
  • OS Version: 26.2.0
  • CPU Architecture: arm64

Bug Description:
I have had files.universal.architecturePreference set to ["arm64e", "arm64"] for quite some time now. The behavior prior to 5.3.9135-dev when opening a universal binary is that if one of those slices is present, it would be preselected in the architecture selector pop-up in the Open with Options dialog. I could either click Open to open it, or change the architecture and open a different one instead.

With 5.3.9135-dev, having files.universal.architecturePreference set means that if the binary contains an architecture in that list, that slice is opened without any user prompt.

Prior to 5.3.9135-dev, the setting was described as:

The preferred Mach-O architecture to select from Universal archives. On its own, changes the default Mach-O selected at load to match the specified architecture. To automatically open that slice without an extra dialog appearing, remove 'Universal' from ui.files.detection.openWithOptions.

I cannot see any new setting that controls this behavior.

Steps To Reproduce:

  1. Set files.universal.architecturePreference to ["arm64e", "arm64"].
  2. Open /usr/libexec/syspolicyd on stable, dev prior to 5.3.9135, and 5.3.9135-dev.

Expected Behavior:
Changing the underlying mechanism that is used to load universal binaries should not have changed when the user is given an opportunity to select which architecture to load.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions