原来的帖子是
http://bbs.pediy.com/showthread.php?t=119809&highlight=%E5%A4%A7%E6%9D%80+%E6%9D%80%E5%99%A8+%E5%99%A8
作者没对这段修改内存的代码做出分析,求高手详细分析下这段代码的作用,还有如果是X64下的话,需要怎么改呢?
void PatchProc(HANDLE hProc){
DWORD dwOldProt;
char Buff[]="\xc2\x04\x00";
char Buff2[]="\x6a\x0c\x90";
LPVOID lpAddress;
VirtualProtectEx(hProc,CloseHandle,0x3,PAGE_EXECUTE_READWRITE,&dwOldProt);
WriteProcessMemory(hProc,CloseHandle,Buff,0x3,NULL);
VirtualProtectEx(hProc,CloseHandle,0x3,dwOldProt,&dwOldProt);
lpAddress=(LPVOID)((DWORD)OpenThreadToken+0xb);
VirtualProtectEx(hProc,lpAddress,0x3,PAGE_EXECUTE_READWRITE,&dwOldProt);
WriteProcessMemory(hProc,lpAddress,Buff2,0x3,NULL);
VirtualProtectEx(hProc,lpAddress,0x3,dwOldProt,&dwOldProt);
}
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)