Zainteresuj się Reverse Engineeringiem. Możesz wykorzystać do tego np. dll spoff, albo funkcje ReadProcessMemory() i WriteProcessMemory(). Możesz też wrzucić swój kod do pliku wykonywalnego w jakieś nieurzywane miejsce i przekierować do niego wykonanie.
Jedyne, czego nie rozumiem, to czemu wpisałeś C# i .NET w języku. Jeżeli gra jest pisana w języku z rodziny .NET, to możesz spróbować zdekompilować dll - C# często można odtworzyć. Jeżeli to się nie uda, to przyda ci się narzędzie ildasm (jest razem z VisualStudio gdzieś w głębokim ukryciu ), lub inny disassembler. Jednak techniki powinny być te same, albo bardzo podobne.
Moge jeszcze polecić ten film: https://youtu.be/aPHMv1PApGA?list=PL6990CCD81B9A3E9C ale w celach poglądowych, a nie dokładnego nauczenia się tych czynności. RE musisz się nauczyć samemu przez praktykę.