Я использую обходной путь для перехвата некоторой функции, эта функция сохраняет некоторые переменные в регистрах, чтобы подключить функцию и вернуться к реальному коду после перехвата (и для того, чтобы он работал) Мне нужно сохранить значение в этих регистрах и загрузить их после. В 32-битной версии я просто запустил этот код:
DWORD esireg = 0;
DWORD eaxreg = 0;
__asm
{
mov esireg, esi
mov eaxreg, eax
}
, теперь мой код запускается, и после того, как я закончу, я загружаю регистры.
__asm
{
mov esi, esireg
mov eax, eaxreg
}
Моя проблема заключается в том, что в 64-битном в визуальном после небольшого поиска в google нет встроенной сборки, у кого-нибудь есть идеи, как мне сохранить значение регистров и после этой записи туда?
Я пытался создать внешний файл asm, как в этом видео: https://www.youtube.com/watch?v=XqZCkYr1FB8
проблема в том, что мне нужно сохранить значение регистров в переменной, поэтому, когда я пытаюсь написать:
savereg proc
mov esireg, esi
savereg endp
, он говорит: "неопределенный символ esireg "
есть идеи, ребята?