x64下的call 指令的二进制为: E8 + XX XX-16位偏移地址 + FF FF
关于16位偏移地址的计算:
偏移地址 = 跳转的函数首地址 - call指令下面一条指令的地址
如果跳转函数首地址大于 下面一条指令的地址,那直接计算就行。
如果跳转函数的首地址E2DB
< call指令下面一条指令的地址E684
可以 在首地址前面加个1 也就变成了 1E2DB - E684 = FC57
相应的call指令为(从低字节到高字节): E8 57 FC FF FF
x64下的call 指令的二进制为: E8 + XX XX-16位偏移地址 + FF FF
关于16位偏移地址的计算:
偏移地址 = 跳转的函数首地址 - call指令下面一条指令的地址
如果跳转函数首地址大于 下面一条指令的地址,那直接计算就行。
如果跳转函数的首地址E2DB
< call指令下面一条指令的地址E684
可以 在首地址前面加个1 也就变成了 1E2DB - E684 = FC57
相应的call指令为(从低字节到高字节): E8 57 FC FF FF