What is the meaning of this kind of jmp instruction in x86 assembly in IDA?
Does it mean that we should jump to the address
[6CA2E9B0] + 8 or
When I follow that off_XXX, I get to the memory region that looks like this:
Is this some kind of a jump table?
loc_6C954360 is indeed pointed by the address
6CA2E9B0, does it mean that the instruction in question jumps to the address pointed by
6CA2E9B0+8? If that's the case, then I must've messed something up in the debugger as the computed address didn't seem to be the same as the one stored in memory.
I read about the
FF /5 jump which I believe is present here:
It should load to
EIP the far address stored in the memory location specified by the 4 bytes next to the
FF 25. And it seems like it is how it works, as I managed to see that happening in the debugger. However, the address after
FF 25 is slightly modified when the library is loaded into a process, are those addresses somehow adjusted once the process starts using the library?
Also what is the point of this kind of jumps, why are functions defined in this way?