This base are undetectable under the last version of sXe Injected Anti-Cheat, use it as you want! ^_^
Main.cpp:
TEXT Code:
#include <windows.h>
#include "Engine.h"
engine_studio_api_s* pEngstudio = (engine_studio_api_s*) 0x01ED3460;
cl_enginefuncs_s* pEngfuncs = (cl_enginefuncs_s*) 0x01EB72D8;
playermove_s* ppmove = (playermove_s*) 0x02D5FCE0;
void ClientDllThread ( );
BOOL __stdcall DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
switch ( dwReason )
{
case DLL_PROCESS_ATTACH :
{
CreateThread ( NULL, NULL, (LPTHREAD_START_ROUTINE) ClientDllThread, NULL, NULL, NULL );
}
}
return TRUE;
}
Client.cpp:
TEXT Code:
#include <windows.h>
#include "Client.h"
#include "Engine.h"
void UnHookFunction ( int iFunction );
void HUD_Redraw ( float x, int y )
{
/*
Your Code Here
*/
UnHookFunction ( U_HUD_Redraw );
}
void CL_CreateMove ( float frametime, struct usercmd_s *cmd, int active )
{
/*
Your Code Here
*/
UnHookFunction ( U_CL_CreateMove );
}
void HUD_PlayerMove ( struct playermove_s *a, int b )
{
/*
Your Code Here
*/
UnHookFunction ( U_HUD_PlayerMove );
}
void HUD_PostRunCmd ( struct local_state_s *from, struct local_state_s *to, struct usercmd_s *cmd, int runfuncs, double time, unsigned int random_seed )
{
/*
Your Code Here
*/
UnHookFunction ( U_HUD_PostRunCmd );
}
void HUD_TempEntUpdate ( double *pframetime, double *pclient_time, double *pcl_gravity, TEMPENTITY*** pppTempEntFree, TEMPENTITY*** pppTempEntActive, int( **pCallback_AddVisibleEntity )( cl_entity_t *pEntity ), void( **pCallback_TempEntPlaySound )( TEMPENTITY *pTemp, float damp ) )
{
/*
Your Code Here
*/
UnHookFunction ( U_HUD_TempEntUpdate );
}
void HUD_AddEntity ( int type, struct cl_entity_s *ent, const char *modelname )
{
/*
Your Code Here
*/
UnHookFunction ( U_HUD_AddEntity );
}
void HUD_Key_Event ( int eventcode, int keynum, const char *pszCurrentBinding )
{
/*
Your Code Here
*/
UnHookFunction ( U_HUD_Key_Event );
}
Gateways.cpp:
TEXT Code:
#include <windows.h>
#include "Client.h"
DWORD* Slots = (DWORD*) 0x01EB74E8;
DWORD dwTempEntUpdate = NULL;
DWORD dwCreateMove = NULL;
DWORD dwRedraw = NULL;
DWORD dwPlayerMove = NULL;
DWORD dwAddEnt = NULL;
DWORD dwPostRunCmd = NULL;
DWORD dwOriginal_HUD_Redraw = NULL;
DWORD dwOriginal_CL_CreateMove = NULL;
DWORD dwOriginal_HUD_PlayerMove = NULL;
DWORD dwOriginal_HUD_PostRunCmd = NULL;
DWORD dwOriginal_HUD_TempEntUpdate = NULL;
DWORD dwOriginal_HUD_AddEntity = NULL;
DWORD dwOriginal_HUD_Key_Event = NULL;
int AddEntResult = 1;
int KeyEventResult = 1;
DWORD dwRetAddress = NULL;
__declspec ( naked ) void Gateway2_CL_CreateMove ( void )
{
__asm
{
call CL_CreateMove;
jmp dwRetAddress;
}
}
__declspec ( naked ) void Gateway1_CL_CreateMove ( void )
{
__asm
{
push esi;
mov esi,dword ptr ss:[esp+0x28];
mov dwRetAddress,esi;
push dwCreateMove;
pop esi;
mov dword ptr ss:[esp+0x28],esi;
pop esi;
ret;
}
}
__declspec ( naked ) void Gateway2_HUD_Redraw ( void )
{
__asm
{
call HUD_Redraw;
jmp dwRetAddress;
}
}
__declspec ( naked ) void Gateway1_HUD_Redraw ( void )
{
__asm
{
push esi;
mov esi,dword ptr ss:[esp+0x10];
mov dwRetAddress,esi;
push dwRedraw
pop esi;
mov dword ptr ss:[esp+0x10],esi;
pop esi;
ret;
}
}
__declspec ( naked ) void Gateway2_HUD_PlayerMove ( void )
{
__asm
{
call HUD_PlayerMove;
jmp dwRetAddress;
}
}
__declspec ( naked ) void Gateway1_HUD_PlayerMove ( void )
{
__asm
{
push esi;
mov esi,dword ptr ss:[esp+0x10];
mov dwRetAddress,esi;
push dwPlayerMove
pop esi;
mov dword ptr ss:[esp+0x10],esi;
pop esi;
ret;
}
}
__declspec ( naked ) void Gateway2_HUD_AddEntity ( void )
{
__asm
{
mov AddEntResult, eax;
call HUD_AddEntity;
mov eax, AddEntResult;
jmp dwRetAddress;
}
}
__declspec ( naked ) void Gateway1_HUD_AddEntity ( void )
{
__asm
{
push esi;
mov esi,dword ptr ss:[esp+0x14];
mov dwRetAddress,esi;
push dwAddEnt
pop esi;
mov dword ptr ss:[esp+0x14],esi;
pop esi;
ret;
}
}
__declspec ( naked ) void Gateway2_HUD_Key_Event ( void )
{
__asm
{
mov KeyEventResult, eax;
call HUD_Key_Event;
mov eax, KeyEventResult;
jmp dwRetAddress;
}
}
DWORD KeyEvent = (DWORD) &Gateway2_HUD_Key_Event;
__declspec ( naked ) void Gateway1_HUD_Key_Event ( void )
{
__asm
{
push esi;
mov esi,dword ptr ss:[esp+0x14];
mov dwRetAddress,esi;
push KeyEvent
pop esi;
mov dword ptr ss:[esp+0x14],esi;
pop esi;
ret;
}
}
__declspec ( naked ) void Gateway2_HUD_PostRunCmd ( void )
{
__asm
{
nop;
nop;
nop;
call HUD_PostRunCmd;
nop;
nop;
nop;
jmp dwRetAddress;
}
}
__declspec ( naked ) void Gateway1_HUD_PostRunCmd ( void )
{
__asm
{
nop;
nop;
nop;
push esi;
mov esi,dword ptr ss:[esp+0x38];
mov dwRetAddress,esi;
push dwPostRunCmd
pop esi;
mov dword ptr ss:[esp+0x38],esi;
pop esi;
ret;
}
}
__declspec ( naked ) void Gateway2_HUD_TempEntUpdate ( void )
{
__asm
{
nop;
nop;
nop;
call HUD_TempEntUpdate;
nop;
nop;
nop;
jmp dwRetAddress;
}
}
__declspec ( naked ) void Gateway1_HUD_TempEntUpdate ( void )
{
__asm
{
nop;
nop;
nop;
push esi;
mov esi,dword ptr ss:[esp+0x100];
mov dwRetAddress,esi;
push dwTempEntUpdate;
pop esi;
mov dword ptr ss:[esp+0x100],esi;
pop esi;
ret;
}
}
void ClientDllThread ( )
{
dwRedraw = (DWORD) &Gateway2_HUD_Redraw;
dwPlayerMove = (DWORD) &Gateway2_HUD_PlayerMove;
dwCreateMove = (DWORD) &Gateway2_CL_CreateMove;
dwAddEnt = (DWORD) &Gateway2_HUD_AddEntity;
dwPostRunCmd = (DWORD) &Gateway2_HUD_PostRunCmd;
dwTempEntUpdate = (DWORD) &Gateway2_HUD_TempEntUpdate;
dwOriginal_HUD_Redraw = Slots[3];
dwOriginal_HUD_PlayerMove = Slots[6];
dwOriginal_CL_CreateMove = Slots[14];
dwOriginal_HUD_AddEntity = Slots[20];
dwOriginal_HUD_PostRunCmd = Slots[25];
dwOriginal_HUD_Key_Event = Slots[34];
dwOriginal_HUD_TempEntUpdate = Slots[35];
for ( ; ; Sleep ( 1 ) )
{
Slots[3] = (DWORD) &Gateway1_HUD_Redraw;
Slots[6] = (DWORD) &Gateway1_HUD_PlayerMove;
Slots[14] = (DWORD) &Gateway1_CL_CreateMove;
Slots[20] = (DWORD) &Gateway1_HUD_AddEntity;
Slots[25] = (DWORD) &Gateway1_HUD_PostRunCmd;
Slots[34] = (DWORD) &Gateway1_HUD_Key_Event;
Slots[35] = (DWORD) &Gateway1_HUD_TempEntUpdate;
}
}
void UnHookFunction ( int iFunction )
{
switch ( iFunction )
{
case 1:
{
Slots[3] = dwOriginal_HUD_Redraw;
break;
}
case 2:
{
Slots[6] = dwOriginal_HUD_PlayerMove;
break;
}
case 3:
{
Slots[14] = dwOriginal_CL_CreateMove;
break;
}
case 4:
{
Slots[20] = dwOriginal_HUD_AddEntity;
break;
}
case 5:
{
Slots[25] = dwOriginal_HUD_AddEntity;
break;
}
case 6:
{
Slots[34] = dwOriginal_HUD_Key_Event;
break;
}
case 7:
{
Slots[35] = dwOriginal_HUD_TempEntUpdate;
break;
}
}
}
Client.h:
TEXT Code:
#define U_HUD_Redraw 1
#define U_HUD_PlayerMove 2
#define U_CL_CreateMove 3
#define U_HUD_AddEntity 4
#define U_HUD_PostRunCmd 5
#define U_HUD_Key_Event 6
#define U_HUD_TempEntUpdate 7
#include "Engine.h"
void HUD_Redraw ( float x, int y );
void PreV_CalcRefdef ( struct ref_params_s *pparams );
void CL_CreateMove ( float frametime, struct usercmd_s *cmd, int active );
void HUD_PlayerMove ( struct playermove_s *a, int b );
void HUD_PostRunCmd ( struct local_state_s *from, struct local_state_s *to, struct usercmd_s *cmd, int runfuncs, double time, unsigned int random_seed );
void HUD_TempEntUpdate ( double *pframetime, double *pclient_time, double *pcl_gravity, TEMPENTITY*** pppTempEntFree, TEMPENTITY*** pppTempEntActive, int ( **pCallback_AddVisibleEntity )( cl_entity_t *pEntity ), void( **pCallback_TempEntPlaySound )( TEMPENTITY *pTemp, float damp ) );
void HUD_AddEntity (int type, struct cl_entity_s *ent, const char *modelname );
void HUD_Key_Event ( int eventcode, int keynum, const char *pszCurrentBinding );
Engine.h:
TEXT Code:
#ifndef Engine_H
#define Engine_H
#include "ValveSDK/engine/wrect.h"
#include "ValveSDK/engine/cl_dll.h"
#include "ValveSDK/engine/cdll_int.h"
#include "ValveSDK/engine/const.h"
#include "ValveSDK/engine/progdefs.h"
#include "ValveSDK/engine/eiface.h"
#include "ValveSDK/engine/edict.h"
#include "ValveSDK/engine/studio_event.h"
#include "ValveSDK/engine/entity_types.h"
#include "ValveSDK/engine/pmtrace.h"
#include "ValveSDK/engine/r_studioint.h"
#include "ValveSDK/engine/triangleapi.h"
#include "ValveSDK/engine/pm_defs.h"
#include "ValveSDK/engine/r_efx.h"
#include "ValveSDK/engine/studio.h"
#include "ValveSDK/engine/event_flags.h"
#include "ValveSDK/engine/entity_state.h"
#include "ValveSDK/engine/parsemsg.h"
#include "ValveSDK/common/com_model.h"
#include "ValveSDK/common/net_api.h"
#include "ValveSDK/common/event_api.h"
#include "ValveSDK/common/ref_params.h"
#include "ValveSDK/common/event_api.h"
#include "ValveSDK/common/screenfade.h"
#endif
Note: There are some engine functions that are detected when you call they, AVOID use these fuctions:
TEXT Code:
pfnFillRGBA
pfnGetPlayerInfo
pfnDrawCharacter
pfnDrawConsoleString
pfnDrawSetTextColor
GetLocalPlayer
GetEntityByIndex
CL_CreateVisibleEntity
PlayerInfo_ValueForKey