Linux x86_64 絶対アドレス指定に関連するトピックを見つけました: x86_64 でのランタイム コード置換の絶対アドレス指定。Linux では絶対アドレス指定はサポートされていないと言われました。
Windows x64 についてはどうですか。ほぼ絶対的な呼び出しはサポートされていますか?
Windows x86 の場合、関数のアドレスは、次の方法でほぼ絶対的な呼び出し (0xFF 0x15) から取得できます。
unsigned char call_nearAbsolute[2] = {0xFF, 0x15};
if(memcmp(bytes, call_nearAbsolute, sizeof(call_nearAbsolute)) == 0) {
{
unsigned char offset[] = {
*(bytes + 0x5),
*(bytes + 0x4),
*(bytes + 0x3),
*(bytes + 0x2)
};
PDWORD_PTR absolute_addr =
(PDWORD_PTR)(((offset[0] & 0xFF) << 24) |
((offset[1] & 0xFF) << 16) |
((offset[2] & 0xFF) << 8) |
offset[3] & 0xFF);
}
x64 でサポートされている場合、プロシージャ アドレスを正しく取得するにはどうすればよいですか?