Попытался все это дело собрать и наткнулся на две ошибки в коде:
1. В for (lpAddress; lpAddress<(lpAddress + dwSize); lpAddress+=0x00000100) указан dwSize, который нигде не объявлен, наверное это mbi.RegionSize.
2. В if(VirtualQueryEx(fGetPID (PROC_NAME), lpAddress, &mbi, sizeof(mbi))) зачем-то опять получаем ID процесса, а нам нужен HANDLE, полученный на предыдущем этапе — hProc
for (lpAddress; lpAddress<(lpAddress + dwSize); lpAddress+=0x00000100)
указан dwSize, который нигде не объявлен, наверное это mbi.RegionSize.if(VirtualQueryEx(fGetPID (PROC_NAME), lpAddress, &mbi, sizeof(mbi)))
зачем-то опять получаем ID процесса, а нам нужен HANDLE, полученный на предыдущем этапе — hProc