Witam, potrzebuje adres aktualnie wykonywanej instrukcji do mojego programu w C. Wiem, że znajduje się w EIP i że dobieram się do niego za pomocą $. Problem leży w tym, że jak piszę w samym asemblerze to działa a jak robię wstawkę w C to zamiast $ wpisuje mi 0. Czy ktoś wie dlaczego i jak temu zaradzić?
#include <windows.h>
int main() {
__asm {
mov eax, $ // disassembly: 001113BE mov eax,0
}
return 0;
}
Chcę to wykorzystać do zrobienia czegoś takiego:
Chcę złożyć początek adresu z EIP z końcówką adresu messageboxa z tablicy importów.