-
-
[求助]把一段asm code 写到另一个进程中
-
发表于:
2010-8-22 23:36
3966
-
一个函数
void _declspec(naked) AsmCode(void) {
__asm {
....
}
}
现在想把这段代码写到另一个XX进程中, 通过一个进程读写函数:
void WriteProcessBYTES(HANDLE hProcess, DWORD lpAddress, void* buf, int len) {
DWORD oldprot,dummy = 0;
VirtualProtectEx(hProcess, (void*) lpAddress, len, PAGE_READWRITE, &oldprot);
WriteProcessMemory(hProcess, (void*) lpAddress, buf, len, 0);
VirtualProtectEx(hProcess, (void*) lpAddress, len, oldprot, &dummy);
}
我是这样写的:
WriteProcessBYTES(hProcess, address, &AsmCode, 0x50);
但调试时候发现 AsmCode 的起始地址是 00401fe0,但是在WriteProcessMemory时候那个buf却是0x401019
在 0x401019 处发现:
@ILT+20(?AsmCode@@YAXXZ):
00401019 jmp AsmCode (00401fe0)
请问在WriteProcessBYTES 的时候第三个参数应该怎么写?
谢谢~
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!