If you could help me with this dilemma I have. Now, I know C \\ C++, I know asm, I know about dll injection, I know about virtual memory addressing, but I just can\'t figure out
On unix: ptrace()
You can't do this with Standard C or C++ - you have to use operating system specific features. So you need to tell us which OS you are interested in.
I'm fairly certain those programs are pretending to be debuggers. On Windows, I would start with DebugActiveProcess() and go from there.
Oh, and the very useful looking ReadProcessMemory() function (and WriteProcessMemory()).
You may also be interested in Detours:
Software packaged for detouring Win32 and application APIs.