0
我想將此C++函數移植到NASM。將c函數移植到NASM
DWORD WINAPI Generic(LPVOID lpParameter) {
__asm {
mov eax, [lpParameter]
call eax
push 0
call ExitThread
}
return 0;
}
我瞭解如何lpParameter參數在這裏工作的一些問題,我已經和的錯誤,當我編譯這個在NASM。
這是我當前的代碼:
BITS 32
global _start
_start:
mov eax, [lpParameter]
call eax
push 0
call exitfunk
exitfunk:
mov ebx, 0x0A2A1DE0
push 0x9DBD95A6
call ebp
cmp al, byte 6
jl short goodbye
cmp bl, 0xE0
jne short goodbye
mov ebx, 0x6F721347
goodbye:
push byte 0
push ebx
call ebp
任何一個能幫助我嗎?
所以更換此
,第一,這將有助於瞭解你所得到的錯誤... –
我想象錯誤是lpParameter未定義。上面例子中的編譯器通過解析這些變量並允許在C和ASM中混合使用引用幫助了很多。我也想象lpParameter是C函數的地址,所以__asm代碼將地址放入EAX中,然後通過EAX調用它。 –
對不起,這就像標記所說的,lpParameter是未定義的,函數做到了。 – jsilva