RunConsoleCommand (Most Called: PTC (PushToConsole)):
Code:
//201E3998 |. 68 B0B84B20 PUSH SA[BR]_C.204BB8B0 ; ASCII "FogEnable 0"
//201E399D |. FF91 18020000 CALL DWORD PTR DS:[ECX+218]
//201E39A3 |. 83C4 04 ADD ESP,4
Hook Way:
Code:
void __cdecl hkRunConsoleCommand ( const char* pSzCommand )
{
DWORD *dwLTClientDLL = ( DWORD* )( 0x20549D9C );
void* CallAddy = ( void* )*( DWORD* )( *dwLTClientDLL + 0x218 );
__asm
{
PUSHAD
PUSH [pSzCommand]
CALL EAX
MOV EAX, [CallAddy]
ADD ESP, 0x4
POPAD
}
}
Class Way:
Code:
class CLTClient_SA;
class CLTClient_SA
{
public:
char pad01[536]; //0x0000
VOID WINAPIV RunConsoleCommand( CONST CHAR* szCommand ); //0x0218
};//Size=0x0254(596)
CLTClient_SA * pLTC = (CLTClient_SA*)0x20549D9C;
Player Size:
Code:
20021788 |. DB4424 6C FILD DWORD PTR SS:[ESP+6C]
2002178C |. D956 08 FST DWORD PTR DS:[ESI+8]
2002178F |. D80D C0264120 FMUL DWORD PTR DS:[204126C0]
20021795 |. D95E 0C FSTP DWORD PTR DS:[ESI+C]
20021798 |> B9 0A000000 MOV ECX,0A
2002179D |. 33C0 XOR EAX,EAX
2002179F |. 8D7C24 3C LEA EDI,DWORD PTR SS:[ESP+3C]
200217A3 |. D94424 70 FLD DWORD PTR SS:[ESP+70]
200217A7 |. F3:AB REP STOS DWORD PTR ES:[EDI]
200217A9 |. AA STOS BYTE PTR ES:[EDI]
200217AA |. E8 FF2E3C00 CALL SA[BR]_C.203E46AE
200217AF |. 50 PUSH EAX
200217B0 |. 8BCB MOV ECX,EBX
200217B2 |. E8 F9F4FFFF CALL SA[BR]_C.20020CB0
200217B7 |. 50 PUSH EAX ; |Arg3
200217B8 |. 8D4C24 44 LEA ECX,DWORD PTR SS:[ESP+44] ; |
200217BC |. 68 6C964720 PUSH SA[BR]_C.2047966C ; |Arg2 = 2047966C ASCII "%s(%d%%)"
PS = 0x6C
More in Future.
Credits:
@ForeverRed