Самый удобный способ манипулировать памятью удаленного процесса - создать поток в контексте этой программы. Обычно это достигается путем принудительного внедрения DLL в целевой процесс. Если у вас есть код, выполняющийся внутри целевого приложения, вы можете использовать стандартные подпрограммы памяти. например, (memcpy, malloc, memset).
Я могу вам сказать прямо сейчас, что наиболее удобный и простой в реализации метод - это трюк CreateRemoteThread / LoadLibrary.
Как уже упоминали другие люди, простые хаки могут быть выполнены путем сканирования памяти на известные значения. Но если вы хотите выполнить что-то более продвинутое, вам понадобится отладка и анализ мертвого списка. (Инструменты: ollydbg и IDA pro соответственно).
Вы поцарапали поверхность очень обширной темы хакерства, там есть множество знаний ..
Сначала несколько интернет-ресурсов:
gamedeception.net - сообщество, посвященное игре RE (Reverse Engineering) и взлому.
http://www.edgeofnowhere.cc/viewtopic.php?p=2483118 - Отличное руководство по различным методам внедрения DLL.
Openrce.org - Сообщество по разработке обратного кода.
Я также могу порекомендовать вам книгу - http://www.exploitingonlinegames.com/
Подпрограммы Windows API, которые вы должны изучить (msdn.com):
CreateRemoteThread
LoadLibraryA
VirtualAllocEx
VirtualProtectEx
WriteProcessMemory
ReadProcessMemory
CreateToolhelp32Snapshot
Process32First
Process32Next