Skip to content

[DSC] Failed to load primary shared cache file #8020

@WeiN76LQh

Description

@WeiN76LQh

Version and Platform (required):

  • Binary Ninja Version: 5.3.9265-dev Ultimate (564b14be)
  • Edition: Ultimate
  • OS: macOS
  • OS Version: 26.3
  • CPU Architecture: M1

Bug Description:
When opening a Binary Ninja database called dyld_shared_cache_arm64e2.bndb which is in the same directory (not in a project) as the extracted DYLD Shared Cache and another database called dyld_shared_cache_arm64e.bndb I get the following errors:

[SharedCache.Builder error] Failed to add file 'dyld_shared_cache_arm64e': File does not start with 'dyld': '/<some path>/dyld_shared_cache_arm64e.bndb'
[SharedCache.View alert] Failed to add primary cache file: 'dyld_shared_cache_arm64e'
[FileMetadata error] View type 'DSCView' could not be created
[Undo error] UndoBuffer deserialization error: Unable to retrieve BinaryView of type: DSCView.
[Undo error] UndoBuffer deserialization error: Unable to retrieve BinaryView of type: DSCView.
[Undo error] UndoBuffer deserialization error: Unable to retrieve BinaryView of type: DSCView.
[Undo error] UndoBuffer deserialization error: Unable to retrieve BinaryView of type: DSCView.
[Undo error] UndoBuffer deserialization error: Unable to retrieve BinaryView of type: DSCView.
[Undo error] UndoBuffer deserialization error: Unable to retrieve BinaryView of type: DSCView.
[Undo error] UndoBuffer deserialization error: Unable to retrieve BinaryView of type: DSCView.
...

When the binary view opens its in the hex view and everything is missing in the linear view.

Steps To Reproduce:
Please provide all steps required to reproduce the behavior:

  1. Extract the DYLD Shared Cache using something like ipsw.
  2. Open it in Binary Ninja.
  3. Save a database with the name dyld_shared_cache_arm64e.bndb in the same directory as the extracted DSC.
  4. Load an image (might not need this step).
  5. Save the binary view again as another database with the name dyld_shared_cache_arm64e2.bndb in the same directory as the other one.
  6. Close the binary view.
  7. Open the database dyld_shared_cache_arm64e2.bndb.
  8. Observe the aforementioned issue.

Binary:
DYLD Shared Cache for iOS 26.2 for an iPhone 17 Pro Max.

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