Ver Mensaje Individual
  #9  
Antiguo 29-12-2019
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Reputación: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Aquí hay mucha tela que cortar.

Primero, el tema del orden de los octetos (bytes), que puede que tú estés usando little-endian pero el juego use big-endian (por ejemplo, juego en red con clientes x86 pero servidores 68K, PowerPC o SPARK).

Segundo, que el propio juego deshaga los cambios silenciosamente o ignore los cambios que hagas mediante un patrón de "código crítico", "sand-box" u otras técnicas anti-cheating. Un ejemplo muy simple y no infalible pero que haría rascarse la cabeza a más de dos:
Código Delphi [-]
{ Permitamos que haya MODs del juego llamando a una DLL que puede
  definirse por el usuario (y usemos Object Pascal porque somos unos
  diseñadores de juegos guays): }
  IF Assigned (ProcedimientoEnDLL) THEN
  TRY
  { Guardamos el número de balas. }
    Balas := EstadoJugador AND $000000FF;
  { Permitimos que cambien algunos valores. }
    ProcedimientoEnDLL (@EstadoJugador)
  FINALLY
  { Recuperamos el número de balas original, por si nos han intentado hacer la pirula. }
    EstadoJugador := (EstadoJugador AND $FFFFFF00) OR Balas
  { JAQUE MATE, CHITERS. }
  END;
Con el código anterior da igual que cambies el número de balas en el procedimiento DLL, porque siempre recuperará el valor anterior, incluso aunque cambies el valor directamente en memoria RAM. Claro que ahora me puedes venir con que puedes hacer el cambio en "Balas" y blablablabla... pero no vamos a ponernos aquí a discutir técnicas anti-cheating porque no es el sitio adecuado.

Tercero, he visto que no es ninguna de las dos cosas anteriores, sino un fallo muy tonto que no voy a decirte más que nada porque me molesta mucho que la gente haga trampas cuando juega, a videojuegos o a lo que sea.

Un saludo.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine

Última edición por Ñuño Martínez fecha: 29-12-2019 a las 12:48:52.
Responder Con Cita