请问第一条call指令,为什么会跳转到100010这个地址?
这个call指令本身在 10000a 这个地址,后面的立即数是0x1,操作码是e8,这条call指令是rel32形式的,那么跳转地址应该是0x10000a + 0x1 = 0x10000b啊。可是0x10000b又不是一条指令的地址,这到底是怎么回事。
e8调用时后面跟的是函数地址相对于当前地址的偏移量,0x10010也就是endbr,应该是断点结束位置。
跳转地址应该是当前call指令的下一个指令的地址加上0x1, 也就是0x10000f+0x1=0x100010