Hace un tiempo estuve investigando por el tema. La api de windows ofrece diversas opciones para sobrescribir la memoria de otros programas. Hay ejemplos de ésto por internet también, al final de la respuesta dejaré algunos enlaces. Debes tener cuidado con éstos menesteres en caso que decidas utilizarlos.
Algunas funciontes: DebugActiveProcess(), ReadProcessMemory(), WriteProcessMemory(). En las páginas de microsoft hay información detallada acerca de esto.
Tres formas de inyectar tu código en otro procesohttp://www.codeproject.com/Articles/4610/Three-Ways-to-Inject-Your-Code-into-Another-ProcesAcá una excelente respuesta de una pregunta relacionada con la tuya en StackOverflow
http://stackoverflow.com/questions/6016156/accessing-memory-of-other-applications-cOtros programas como WPE Pro
http://foro.elhacker.net/ingenieria_inversa/tutorial_wpe_pro_captura_modifica_y_envia_paquetes_tcp_cheats_juegos-t405121.0.html también se utilizan con el fin que propones en el post. Respecto a ésto, quizá te interese
http://libtins.github.io/Saludos.