Portal SAMP
[Ajuda] Hacker puxando carro - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Hacker puxando carro (/showthread.php?tid=2360)



Hacker puxando carro - hiwyn - 06/05/2022

Tem um hacker puxando carro, crashando algumas pessoas, matando outra, no geral zoneando o server...
É fácil de detectar isso?


RE: Hacker puxando carro - Dr Editor - 06/05/2022

O hack de veículos é fácil. Basta verificar o intervalo de tempo em que o jogador entra em veículos e o número de veículos que ele entrou neste intervalo.
O crash vai depender do tipo usado. Basicamente é enviar informações inválidas ao servidor e o mesmo acaba executando o código com essas informações inválidas e repassando aos jogadores alvos, ocasionando crash.
O crash você pode facilmente resolver com includes que visam corrigir isso como, por exemplo, a fixes (ainda atualizada).


RE: Hacker puxando carro - xbruno1000x - 06/05/2022

Essa public aqui é perfeita para detectar esse tipo de ataque:
https://open.mp/docs/scripting/callbacks/OnUnoccupiedVehicleUpdate

Ela detecta se um veículo vazio teve updates e pode te dar a nova coordenada e a antiga.


RE: Hacker puxando carro - hiwyn - 07/05/2022

opa galera muito obrigado...
eu fiz esse script aqui:
Código:
public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z, Float:vel_x, Float:vel_y, Float:vel_z)
{
    if(passenger_seat > 0)
    {
        PlayerEntrouVehicleRec[playerid] += 1;
        SetTimerEx("MinusOne_PlayerEntrouVehicleRec", 1000, 0, "i", playerid);
        if(PlayerEntrouVehicleRec[playerid] > 3) {
                Kick(playerid);
        }
    }
}
public MinusOne_PlayerEntrouVehicleRec(playerid) {
    if(PlayerEntrouVehicleRec[playerid] > 0) PlayerEntrouVehicleRec[playerid] -= 1;
}

PlayerEntrouVehicleRec[playerid] = 0;
no onplayerconnect

Vai funcionar?
Vocês mudariam alguma coisa?


RE: Hacker puxando carro - hiwyn - 24/05/2022

achei esse tópico em outro forum: https://www.burgershot.gg/showthread.php?tid=1202
mas ele tá dando falso positivo toda hora, alguém sabe o pq?


RE: Hacker puxando carro - Dr Editor - 24/05/2022

Código:
static timer;
public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z, Float:vel_x, Float:vel_y, Float:vel_z)
{
    if(passenger_seat > 0)
    {
        PlayerEntrouVehicleRec[playerid] ++;
        if(!timer)
            timer = SetTimerEx("MinusOne_PlayerEntrouVehicleRec", 1000, 0, "i", playerid);
       
        if(PlayerEntrouVehicleRec[playerid] > 3) {
                Kick(playerid);
        }
    }
    return 1;
}
public MinusOne_PlayerEntrouVehicleRec(playerid)
{
    PlayerEntrouVehicleRec[playerid] = 1;
    timer = 0;
    return 1;
}

Eu faria dessa forma usando esta alternativa.