Ok, well I spent the past few days just going through all the threads trying to gather as much information as I could about CA. I have found in my ventures (roughly) how to start looking for LTClient (Well, really I just know how to search for LTClient.Default and go from there). Anyway, I then ventured on to using PushToConsole and I saw the ASM that someone posted, and then I, instead, used a function pointer to do my dirty deeds.
Anyway, when I use this function, CA doesn't crash or close or anything, but instead nothing happens. I know the function is actually being called because I put a MessageBox in there displaying what it was sending as an argument to PushToConsole and it displayed everything correct (e.g. ShowFps 1)
Here's my Engine::PushToConsole method:
Here's the value I have for LT_CLIENT_ADDR:
void Engine::PushToConsole(const std::string& szCommand) const
if(GetModuleHandle(L"cshell.dll") == NULL)
ptc = *(PushToConsole_T *) (*((int*) LT_CLIENT_ADDR) + 0x208);
(I haven't checked lately, it may be outdated now (or possibly even wrong), I'm not honestly sure. As I said, I found where to start looking for LTClient, I didn't actually found how to distinguish it thoroughly)
const static int LT_CLIENT_ADDR = 0x3780AB70;
Would any of you be so kind as to enlighten me on what I'm doing wrong? If you need more of the code posted, I can upload my MSVC++ project.