成功寫入數(shù)據(jù)到進(jìn)程 AA = 170 讀取了1字節(jié)

源碼
#include
#include
int main(int argc, PCHAR argv[]){
HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, 23548);
if (handle == NULL){
printf("打開進(jìn)程失敗\n");
}
printf("打開進(jìn)程成功,句柄為:%p\n", handle);
LPSTR buffer = 0;
BYTE wb[5] = { 0xaa, 0xaa, 0xaa, 0xa1,0x00 };
BYTE cd[4] = { 0 };
DWORD i = 0;
DWORD newprot, oldprot;
VirtualProtectEx(handle, (LPVOID)0x0040008, 4, PAGE_EXECUTE_READWRITE, &oldprot);
if (!ReadProcessMemory(handle, (LPVOID)0x0040008, &buffer, 4, &i)){
printf("讀取進(jìn)程內(nèi)存失敗 %d %d\n", GetLastError(), i);
}
printf("讀取到的進(jìn)程內(nèi)存信息為: %p 讀取數(shù)量 %d\n", buffer, i);
if (!WriteProcessMemory(handle, (LPVOID)0x0040008, wb, 4, &i)){
printf("寫入進(jìn)程內(nèi)存失敗 %d %d\n", GetLastError(), i);
}
printf("寫入到的進(jìn)程內(nèi)存信息為: %d 寫入數(shù)量 %d\n", wb[0], i);
VirtualProtectEx(handle, (LPVOID)0x0040008, 4, oldprot, &newprot);
CloseHandle(handle);
getchar();
return 0;
}