-
Notifications
You must be signed in to change notification settings - Fork 274
Description
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:
- Open a recent copy of the DYLD Shared Cache with default load settings so
libsystem_c.dylibis loaded automatically. - Wait for initial analysis to complete.
- Go to any of the unnamed functions (beginning with
sub_). - 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:
Navigate to the reference to the jump table:
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.