Cheat engine.
#1

Buenas, resulta que la otra vez se me ocurriу usar el speedhack de Cheat Engine en el proceso de GTA San Andreas.. Investiguй para ver si era una vulnerabilidad, y sн, lo es.

Explicarй, cuando activй el speedhack, claramente parecнa airbreak, iba demasiado rбpido, 500 km/h, sin embargo, pude burlar a mi propio anticheat. Si uso un speedhack, el anticheat lo detectarб, pero Cheat Engine no, ahora explicarй con mбs detalle, йste es mi anticheat;

pawn Код:
SetTimer("AntiSpeedHack",1000,1);
pawn Код:
forward AntiSpeedHack();
public AntiSpeedHack()
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(ObtenerVelocidad(i)> 230)
            {
                switch(GetVehicleModel(GetPlayerVehicleID(i)))
                {
                    case 0,511,460,592,577,512,513,520,553,593,476,519: printf("[ID: %d] Manejando %d Con velocidad de %skm/h",i,GetVehicleModel(GetPlayerVehicleID(i)),ObtenerVelocidad(i));
                    default:
                    {
                        new Float:X, Float:Y, Float:Z, Texto[256];
                        GetPlayerPos(i, X, Y, Z);
                        GetPlayerName(i, Nombre, sizeof(Nombre));
                        format(Texto, sizeof(Texto), "Servidor: %s ha sido slapeado por el anticheat. Razуn: Speed Hack.", Nombre);
                        SendClientMessageToAll(Amarillo, Texto);
                        RemovePlayerFromVehicle(i);
                        SetPlayerPos(i, X, Y, Z+5);
                    }
                }
            }
        }
    }
    return 1;
}
pawn Код:
stock ObtenerVelocidad(playerid)
{
    new Float:PosX, Float:PosY, Float:PosZ, Float:PlayerSpeedDistance;
    GetVehicleVelocity(GetPlayerVehicleID(playerid), PosX, PosY, PosZ);
    PlayerSpeedDistance = floatmul(floatsqroot(floatadd(floatadd(floatpower( PosX, 2), floatpower(PosY, 2)), floatpower(PosZ, 2))), 170.0);
    new spe = floatround(PlayerSpeedDistance * 1);
    return spe;
}
Bien, como ahн se ve claramente, si un vehнculo terrestre sobrepasa la velocidad de 230 km/h, es slapeado (+5 del float Z). їPor quй 230 km/h? revisй el cars.cfg, y el Turismo e Infernus llegan a eso, bien.

Supongamos que utilizo el mod s****t con su speedhack, entonces acciono el speedhack y me lo detecta como cheat, hace su funciуn el anticheat. Ahora, si uso cheat engine, voy a toda velocidad, pero no me lo detecta.

Йsto me llamу la atenciуn, asн que aproveche mi sistema de radares de control de velocidad, y pasй a toda velocidad, primero con el mod de speedhack, me marcу 354 km/h, luego con el cheat engine, y me marcу 105 km/h sabiendo que fui aъn mбs rбpido que con speedhack.

їAlguno sabe una forma de evitar йsto? burlй a mi propio anticheat..

Una conclusiуn propia, es que lo que hace el cheat engine es cambiar tu velocidad visual, que no solo afecta a uno mismo, si no que afecta a todos, en cambio los cheats y hacks diseсados para samp cambian la velocidad del vehнculo hablando de cliente o servidor.
Reply
#2

Tienes razуn, el Cheat Engine solamente aumenta la velocidad del juego, lo que hace que las animaciones se ejecuten mбs rбpido, pero a la misma velocidad.

CREO que esto es indetectable mediante script. :S
Reply
#3

Tendrнa que haber un modo o algo..
Reply
#4

el modo es un administrador y el comando ban
Reply
#5

Amigo usted muy bien lo dijo Cheat - Engine cambia la velocidad visual solamente, al contrario de los cheat hechos solamente para SA - MP los cuales usan funciones manipuladas de SA - MP en el cliente.

Dudo que puedas detectarlo ya que si modifica solamente la visual entonces es algo externo, lo cual PAWN no puede detectar ya que PAWN no interactua con el cliente externo.

Cuando usamos el Speed Hack del Cheat Engine modifica la visual del cliente pero el servidor reconoce la velocidad nolmar del auto, Ejemplo:

Auto: Infernus - Velocidad del Vehiculo: 100 km/h - Velocidad Visual: 500 km/h

El Cliente solo modifica su velocidad Visual, pero la Velocidad real del vehiculo es 100 km/h, osea decimos que el auto esta a una velocidad de 100 km/h entonces al activar el Cheat - Engine aumenta la velocidad (VISUAL) pero no la del vehiculo.

Por lo tanto, el servidor reconoce solamente la velocidad del vehiculo no la velocidad visual del jugador en el vehiculo.

їPorque los demбs jugadores ven la velocidad del vehiculo con Cheat - Engine?

Bueno se debe a la Sincronizaciуn entre jugadores tanto en PING como en FPS, por ejemplo aveces notamos que hay jugadores que tienen buen PING pero los vemos lentos, porque estos tienen muy pocos FPS pero si estos aumentan sus FPS se veran mas rapido.

El servidor contiene FPS de sincronizaciуn para que los jugadores puedan sincronizarse entre si, por eso es que si tenemos un servidor hosteado en un PC no tan bueno pero con buena conexiуn de subida los jugadores sufren LAG, por ejemplo:

Servidor: 25 FPS
Jugador 1: 30 FPS
Jugador 2: 15 FPS

El jugador 1 vera mas sincronizado el servidor porque este cumple con los requisitos de FPS del servidor al contrario del jugador 2 que al tener 15 FPS y el servidor 25 FPS vera el servidor desincronizado.

En fнn, el Cheat - Engine no aumenta los FPS si no que al aumentar la velocidad visual del jugador los demбs ven al jugador con el Cheat - Engine mas rapido por el desplazamiento del jugador, el cual el servidor lo detecta como la velocidad normal del vehiculo.

PD: Para los que no saben que es FPS es como si fuera la velocidad del juego del jugador para que entiedan, usen ****** para una respuesta mas detallada de lo que son los FPS.

PD2: No soy muy bueno explicando.

Saludos.
Reply
#6

Sн, explicaste bien, ahora la pregunta es.. їcуmo crear un plugin que detecte un cambio de velocidad visual?
Reply
#7

No es necesario crear ningun plugin para detectar esto, basta con una simple comparacion de posiciones y saldra muy facilmente si el jugador esta o no utilizando esta variante de cheats.
Reply
#8

Quote:
Originally Posted by the_chaoz
Посмотреть сообщение
No es necesario crear ningun plugin para detectar esto, basta con una simple comparacion de posiciones y saldra muy facilmente si el jugador esta o no utilizando esta variante de cheats.
Seria lo mismo que crear un Anti TeleportHack, pero tendrias que tener calcular la velocidad maxima del auto mas rapido del GTA SA y cuantos metros podria recorrer en velocidad maxima en un lazo de 3 segundos, luego comparar los resultados y si la distancia recorrida es mayor a la establecida en el Anti - Cheat entonces banee el usuario.

PD: Te recomiendo usar una recta y hacer la prueba de velocidad maxima del auto mas rapido del GTA SA durante 3 segundos y tomar cuantos metros recorrio el auto despues de aver alcanzado la velocidad maxima.

Un saludo.
Reply
#9

Quote:
Originally Posted by oOFotherOo
Посмотреть сообщение
Seria lo mismo que crear un Anti TeleportHack, pero tendrias que tener calcular la velocidad maxima del auto mas rapido del GTA SA y cuantos metros podria recorrer en velocidad maxima en un lazo de 3 segundos, luego comparar los resultados y si la distancia recorrida es mayor a la establecida en el Anti - Cheat entonces banee el usuario.

PD: Te recomiendo usar una recta y hacer la prueba de velocidad maxima del auto mas rapido del GTA SA durante 3 segundos y tomar cuantos metros recorrio el auto despues de aver alcanzado la velocidad maxima.

Un saludo.
Ya lo se, soy yo quien propuso esta solucion. їPor quй me explicas como hacerla? Al ser yo el que la propuso, se como aplicarla.

PD: Aplicarlo como un teleport hack no es la mejor forma.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)