Я на машине с Windows 7 и попытался открыть kernel32.dll в IDA, и IDA говорит, что адрес функции IsDebuggerPresent - 0x77e2b020. Я пытаюсь вызвать функцию, используя встроенную сборку.
На платформе vs2010 я попытался использовать следующий код: -
#include<iostream>
using namespace std;
int blah() {
__asm {
xor eax, eax
mov ebx, 0x77e2b020
call ebx
}
}
int main() {
cout<<blah();
return 0;
}
При сборке exe он показывает, что kernel32.dll загружается.
Я попытался отладить исполняемый файл в OllyDbg, и при выполнении инструкции call вызывается ошибка «Access access».
Да, я знаю, что вызов API напрямую из C ++ - лучший / правильный способ сделать это, я делаю это для развлечения, я просто не понимаю, почему это не работает.