Version and Platform (required):
- Binary Ninja Version: 6.0.10526-dev Personal (c0a85dfd)
- Edition: Non-Commercial
- OS: Fedora
- OS Version: 44
- CPU Architecture: M2
Bug Description:
Binary Ninja doesn't decode the PACIBSPPC instruction.
Steps To Reproduce:
Please provide all steps required to reproduce the behavior:
- Unzip the attached binary
- Open it in Binary Ninja
- Got to the
_start symbol
- Follow the branch at
fffffe0007c9001c branching to 0xfffffe0007c94000
- Notice that the instruction at
0xfffffe0007c94000, namely fea7c1da isn't supported
Expected Behavior:
I expect Binja to properly decode the instruction.
Screenshots/Video Recording:
Binary:
kernel.release.zip, a macho aarch64 binary.
Additional Information:
With a bit of Python and the PACIBSPPC documentation page, one can see that its encoding is fea7c1da:
>>> i = """1 1 0 1 1 0 1 0 1 1 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0"""
>>> def swap32(i):
... return struct.unpack("<I", struct.pack(">I", i))[0]
...
>>> import struct
>>> hex(swap32(int(s.replace("\t", ""), 2)))
'0xfea7c1da'
>>>
The issue was initially found on IDA Pro by @amarioguy, while looking at macOS 26.7 RC1.
Version and Platform (required):
Bug Description:
Binary Ninja doesn't decode the
PACIBSPPCinstruction.Steps To Reproduce:
Please provide all steps required to reproduce the behavior:
_startsymbolfffffe0007c9001cbranching to0xfffffe0007c940000xfffffe0007c94000, namelyfea7c1daisn't supportedExpected Behavior:
I expect Binja to properly decode the instruction.
Screenshots/Video Recording:
Binary:
kernel.release.zip, a macho aarch64 binary.
Additional Information:
With a bit of Python and the
PACIBSPPCdocumentation page, one can see that its encoding isfea7c1da:The issue was initially found on IDA Pro by @amarioguy, while looking at macOS 26.7 RC1.