Description
Version and Platform (required):
- Binary Ninja Version: 4.1.5470-dev
- OS: Ubuntu Linux
- OS Version: 24.04
- CPU Architecture: x64
Bug Description:
Binary Ninja fails to recognize Jump Table with ARM Thumb2 TBB
instruction. There are potentially two issues:
- It appears that current handling of
TBB
instruction is assuming a half word (2-byte) jump table which is incorrect as the table should be single byte only. Half-word size is correct forTBH
instruction not forTBB
though. - Current implementation fails to recognize the Jump table as it continues with the disassembly where the jump table should be. I would assume that the implementation fails to add label after the
TBB
.
Steps To Reproduce:
Please provide all steps required to reproduce the behavior:
Unfortunately the screenshot I have shared is the most I can provide (cannot share the library). I am happy to test any updates though so let me know. (Or we can have a screen sharing session in private)
Expected Behavior:
TBB
instruction should be followed by label to stop the disassembly and allow detecting of the jump table which must be one byte aligned.
Binary:
If applicable, please provide us with the binary to help us work with the issue faster. Here are a few options:
Not possible unless we have official NDA, sorry.
Additional Information:
Please add any other context about the problem here.