Issue with jump table detection #2270
-
I'm analyzing a proprietary binary (no symbol names) for the PowerPC architecture. Whenever there's code in the binary that used to be a large switch-case in the original C program (which is implemented in Assembly with a jump table), I see the ASM instructions to load the index, multiply it by 4, load the address from the jump table, then jump to it - but the code immediately afterwards isn't recognized as belonging to that function, the jump table isn't recognized. This looks like this in the code: Sadly, while BN seems to know that this is a jump table (it named the data block "jump_table_808bc810"), it seems to refuse to actually display this as a jump table and read the code that follows immediately after the jump. That's rather annoying, I found no easy way to tell Binary Ninja that a "bctr" isn't necessarily the function end. It does know it's a jump table, so why doesn't it continue disassembling? Am I doing something wrong? How can I fix this? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
Which version of Binary Ninja are you using? |
Beta Was this translation helpful? Give feedback.
Which version of Binary Ninja are you using?