Code:
#include <windows.h>
#include <iostream>
using namespace std;
void __cdecl PushToConsole(char* szVal )
{
DWORD dwCShell = (DWORD)GetModuleHandleA("CShell.dll");
if( dwCShell != NULL )
{
DWORD *LTClient = ( DWORD* )( (dwCShell + 0x299D40) );
void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x1F8 );
_asm
{
push szVal;
call CONoff;
add esp, 4;
}
}
}
BOOL WINAPI Main (LPVOID)
{
bool boxes = false;
bool Skeleton = false;
bool playerframe = false;
bool worldframe = false;
bool whitewalls = false;
bool FogEnable = false;
bool nosky = false;
bool nogun = false;
bool OptimizeSurfaces = false;
while(1)
{
__asm pushad;
if(GetAsyncKeyState(VK_NUMPAD1)&1)
{
boxes = !boxes;
}
if(GetAsyncKeyState(VK_NUMPAD2)&1)
{
Skeleton = !Skeleton;
}
if(GetAsyncKeyState(VK_NUMPAD3)&1)
{
playerframe = !playerframe;
}
if(GetAsyncKeyState(VK_NUMPAD4)&1)
{
worldframe = !worldframe;
}
if(GetAsyncKeyState(VK_NUMPAD5)&1)
{
whitewalls = !whitewalls;
}
if(GetAsyncKeyState(VK_NUMPAD6)&1)
{
FogEnable = !FogEnable;
}
if(GetAsyncKeyState(VK_NUMPAD7)&1)
{
nosky = !nosky;
}
if(GetAsyncKeyState(VK_NUMPAD8)&1)
{
nogun = !nogun;
}
if(GetAsyncKeyState(VK_NUMPAD9)&1)
{
OptimizeSurfaces = !OptimizeSurfaces;
}
if (boxes)
PushToConsole("ModelDebug_DrawBoxes 1");
else
PushToConsole("ModelDebug_DrawBoxes 0");
if (Skeleton) {
PushToConsole("ModelDebug_DrawSkeleton 1");
}
else {
PushToConsole("ModelDebug_DrawSkeleton 0");
}
if (playerframe)
PushToConsole("WireFrameModels 1");
else
PushToConsole("WireFrameModels 0");
if (worldframe)
PushToConsole("WireFrame 1");
else
PushToConsole("WireFrame 0");
if (whitewalls)
PushToConsole("DrawFlat 1");
else
PushToConsole("DrawFlat 0");
if (FogEnable)
PushToConsole("FogEnable 0");
else
PushToConsole("FogEnable 1");
if (nosky)
PushToConsole("DrawSky 0");
else
PushToConsole("DrawSky 1");
if (nogun)
PushToConsole("DrawGuns 0");
else
PushToConsole("DrawGuns 1");
if (OptimizeSurfaces)
PushToConsole("DrawOptimizeSurfaces 1");
else
PushToConsole("DrawOptimizeSurfaces 0");
__asm popad;
Sleep(100);
}
}
bool Ready(void)
{
if( GetModuleHandleA("CShell.dll")!= NULL)
return true;
return false;
}
DWORD WINAPI dwMainThread(LPVOID)
{
while (!Ready())
Sleep(200);
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)Main, NULL, NULL, NULL);
return 0;
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if ( dwReason == DLL_PROCESS_ATTACH )
{
MessageBoxA(0, "This CrossFire dynamic library link hack has been created by Bowen.", "Injection Message", 0);
CreateThread(NULL, NULL, dwMainThread, NULL, NULL, NULL);
}
return TRUE;
}
That is my code. Please pack. ;]