|
Форум Программирование C++/C Программирование Aim Crasher & AntiCrasher by FYP |
Aim Crasher & AntiCrasher by FYP |
Offline
Данный крашер работает только с хуком ракнета из собейта версии не ниже 4.3.3.0, но без хука можно обойтись, добавив самостоятельно отправку
пакета, вместо подменны данных в пакете. код крашера: Код void CheatReplaceOnfootData ( struct stOnFootData *ofSync ) { if ( g.use_new_crasher ) { ofSync->sKeys = 128; ofSync->byteCurrentWeapon = 0; } } void CheatReplaceAimData ( struct stAimData *aimSync ) { if ( g.use_new_crasher ) { aimSync->vecAimf1[0] = (float)0x7FFFFFFF; aimSync->vecAimPos[0] = (float)0x7FFFFFFF; } } // в HookedRakClient.cpp в функцию bool Send( BitStream * bitStream, PacketPriority priority, PacketReliability reliability, char orderingChannel ) if ( packetId == ID_PLAYER_SYNC ) CheatReplaceOnfootData( (stOnFootData *)( bitStream->GetData() + 1 ) ); if ( packetId == ID_AIM_SYNC ) CheatReplaceAimData( (stAimData *)( bitStream->GetData() + 1 ) ); код антикрашера: Код // в samp.cpp #define FUNC_PACKET_AIM_SYNC 0x87A0 void __stdcall HookPacketAimData( Packet *packet ) { BitStream bs( (unsigned char *)packet->data, packet->length, false ); PLAYERID playerId; stAimData sync; bs.IgnoreBits( 8 ); // packet id bs.Read( playerId ); bs.Read( (char *)&sync, sizeof( sync ) ); bool isUse = false; float pos[3] = { 0, 0, 0 }; int isok = getPlayerPos( playerId, pos ); if ( isok && vect3_dist( pos, sync.vecAimPos ) > 500.0f ) { vect3_mult( sync.vecAimPos, 0.0f, sync.vecAimPos ); isUse = true; } for ( int i = 0; i < 3; i++ ) { if ( sync.vecAimf1 [i]< -9.9f || sync.vecAimf1 [i]> 9.9f ) { sync.vecAimf1 [i]= 0.0f; isUse = true; } } if ( isUse ) { BitStream bs1; bs1.Write( (byte)ID_AIM_SYNC ); bs1.Write( playerId ); bs1.Write( (char *)&sync, sizeof( sync ) ); memcpy( packet->data, bs1.GetData(), packet->length ); } return ( ( void ( __thiscall * )( stSAMP *, Packet * ) )( g_dwSAMP_Addr + FUNC_PACKET_AIM_SYNC ) )( g_SAMP, packet ); } #define SAMP_HOOKENTER_PACKET_AIM_DATA 0x9EB5 // куда-нибудь в samp.cpp SetupSAMPHook("Packet_AimSync", SAMP_HOOKENTER_PACKET_AIM_DATA, HookPacketAimData, DETOUR_TYPE_CALL_FUNC, 5, ""); // в void installSAMPHooks () |
| |||
| |||