我怎样才能在内联汇编中写这个?我想将packet的值写入cave in inline asm的内存位置,怎么办?我可以用 WriteProcessMemory 做到这一点,但我想摆脱它并用 asm 替换
int SendToClient(BYTE *packet, int Length)
{
int cave = (int)VirtualAllocEx(hProcess, NULL, Length, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
if (WriteProcessMemory(hProcess, (void*)cave, packet, Length, NULL))
{
}
__asm
{
//how?
}
}
例如,假设我想从地址 senderOffset 中读取数据:
int GetSenderID()
{
int value;
__asm
{
mov eax, senderOffset
mov value, eax
}
return *(int*)value;
}
这是做“ReadProcessMemory(GetCurrentProcess(), (VOID*)senderOffset, &value, 0) 会做的事情,我只是在寻找与内联 asm 的“WriteProcessMemory”相同的方法。