Skip to content

Functions are being created for jump tables in code sections #7992

@WeiN76LQh

Description

@WeiN76LQh

Version and Platform (required):

  • Binary Ninja Version: 5.3.9208-dev Ultimate (8b909a0c)
  • Edition: Ultimate
  • OS: macOS
  • OS Version: 26.3
  • CPU Architecture: M1

Bug Description:
It seems Binary Ninja is overwriting jump tables in code sections with functions even though it has correctly identified them as jump tables. The symbol of the function is a data symbol as well.

Steps To Reproduce:

  1. Open a recent copy of the DYLD Shared Cache with default load settings so libsystem_c.dylib is loaded automatically.
  2. Wait for initial analysis to complete.
  3. Go to any of the unnamed functions (beginning with sub_).
  4. Observe that they all seem to be for jump tables are not actual functions.

Expected Behavior:
Jump tables in code sections shouldn't be overwritten with functions.

Screenshots/Video Recording:

Navigating to the symbol for one of the unnamed functions thats actually a jump table:

Image

Navigate to the reference to the jump table:

Image

It appears the jump table is working correctly as a switch case.

Binary:
DYLD Shared Cache for an iPhone 17 Pro Max running iOS 26.0

Additional Information:
I confirmed the behaviour is exactly the same when running Binary Ninja with plugins disabled.

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