Я пытаюсь подключить функции в 64-битных окнах
Я могу подключить целевую функцию легко, но проблема в создании батута
Мне нужно знать подходящий размер, чтобы скопировать из оригинальной функции на батут и затем скопировать инструкцию jmp к цели
это мой патч байтов:
unsigned char patch_12_bytes[] = {
0x48, 0xb8, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xE0
};
Я помещаю в него адрес целевого адреса и копирую его в конец батута, который перейдет к адресу подключенной функции + скопированные байты
но иногда я получаю некоторые ошибки, такие как нарушение прав доступа, поскольку инструкции не верны
поэтому мне нужно знать, как получить правильный размер для копирования и перейти к байту после него
Задача ещё не решена.
Других решений пока нет …