Если я ничего не перепутаю, я бы сказал, что это зависит.Как вы можете видеть здесь есть ближний и дальний вызовы, но давайте просто рассмотрим ближайший вызов.Снова есть две возможности
E8 <offset> # relative
FF <address> # absolute
, тогда как FF
означает абсолютный «скачок», а E8
действительно означает относительно тока eip
.
Так что если у вас есть, например,
E8 32 45 ab 6f
, что означает
call 0x3245ab6f
Это будет означать
push %eip
add $0x3245ab6f, %eip
, а не
push %eip
jmp $0x3245ab6f