2011-04-13 33 views
13

¿Alguien ha encontrado la manera de evitar la piratería de leaderbaord en Game Center o al menos hacerlo más complicado?Evite la piratería de Leaderboard en el Game Center

Se puede ver un video de HackCenter, una aplicación de Cydia que permite enviar cualquier calificación desea aquí: Hack Center puntuaciones

A pesar de que la aplicación no se supone que estará disponible en la tienda de Cydia todos hemos visto que son obviamente falsos en varios juegos en la AppStore. A diferencia del puntaje presentado en ese video, las puntuaciones falsas suelen ser ridículamente altas y desaniman a otros jugadores, ya que nunca pueden llegar a la cima de la clasificación.

No he podido averiguar cómo se realiza el truco (supongo que se cruzan con la llamada http y simplemente reemplazan el parámetro de puntuación con lo que quieran).

Cualquier idea es apreciada.

+0

Dado que la presentación del puntaje proviene del cliente que no es de confianza, es prácticamente un Sistema de Honor. Puede ser [extremadamente difícil atrapar a los tramposos] (http://en.wikipedia.org/wiki/The_King_of_Kong:_A_Fistful_of_Quarters), y al final, todo es solo por diversión. Un posible mecanismo sería registrar los eventos/acciones de la partida completa y reproducirlos en un emulador, pero incluso así alguien podría falsificar un registro de "juego perfecto" con suficiente esfuerzo. – sarnold

Respuesta

6

El problema radica en permitir a los usuarios generar sus propios datos de puntaje en el lado del dispositivo. Esto sería mucho más difícil si todos los cálculos relacionados con la puntuación se realizaran en el servidor y luego se publicaran en el marcador (no sé cómo funciona su aplicación, por lo que no puedo recomendar una técnica específica).

Creo que lo MEJOR que puede hacer es registrar datos acerca de CÓMO obtuvieron la calificación más alta para su revisión más tarde. Eso puede ser imposible dependiendo de la estructura de tu juego. También podría ser forgeable dependiendo de la estructura de tu juego. Por ejemplo, algunos puntajes de juegos son imposibles de obtener en el juego debido a la física sobre cómo funciona el juego. En mi opinión, esta es tu mejor defensa contra eso. Lamentablemente, eso requiere monitorearlo todo el tiempo ...

Además, incluso si puede verificar puntajes falsos, alguien podría forjar continuamente puntajes falsos durante todo el día y nunca podrá seguirle el ritmo. El robot de envío de puntuación de Someones ganará al final. No es humano, lo eres. Puede publicar puntajes falsos todo el día, no puedes mirar los falsos todo el día, no puedes verificar miles de envíos falsos. Intentar verificar todo lo que se genera en el lado del usuario (como el ID del dispositivo, la aplicación que se está instalando, etc.) no tiene sentido. Puede ser falsificado. Las direcciones IP tampoco tienen sentido. Su aplicación se encuentra en una plataforma móvil que puede obtener una nueva IP de la compañía celular. Hacer un seguimiento de usuarios legítimos reales es muy difícil si alguien quiere ocultarse por eso.

Tal vez pueda tener algún tipo de verificación de compra de la aplicación con la ayuda de Apple también. Eso le facilitaría la prohibición de delincuentes. Te tendrían que pagar para forjar tu clasificación, jaja.

Eso es solo mis 2 centavos, espero que ayude.

+0

Gracias por la respuesta, pero estoy trabajando en Game Center y, por lo que sé, no puedo eliminar una puntuación después de que se haya enviado a la clasificación. – elibud

+0

Encontré esto en SO. El primer comentario dice que es posible de acuerdo con la página 3 en su enlace. No puedo leerlo ya que no tengo una cuenta. http://stackoverflow.com/questions/3961926/is-there-a-way-to-delete-scores-in-apples-game-center-programmaticaly – PiZzL3

+0

Gracias, eso definitivamente ayuda. – elibud

2

Podría intentar comprobar si el usuario tiene esa cosa instalada, supongo, y luego desactivarla para ingresar un puntaje alto si es que tienen la aplicación.

personalmente me acaba de comprobar si hay Cydia:

[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://"]] 

no estoy seguro de lo que la URL de Hack Center es exactamente, pero, tal vez usted podría intentar adivinar un par de veces. Yo diría 'cydia: // hack_center' o algo así. Y luego, una vez que encuentre la URL, reemplácela con 'cydia: //'.

+0

Gracias por la idea, pero eso realmente no funciona, ya que hay mucha gente con Cydia instalado que compra al menos algunas aplicaciones en la AppStore. Además de eso, no estoy seguro de que los puntajes falsos que veo en algunos juegos hayan sido enviados con Hack Center. – elibud

+0

Este es un argumento basado en una falacia, es decir, tengo instalado Cydia, ¿eso me convierte automáticamente en un tramposo? También tiene fallas de la misma forma que el software antivirus detecta solo el malware identificado en el pasado, no asegurando la aplicación por ahora y por el futuro. – Barry

+0

Creo que está bien darle el dedo a alguien que tiene Cydia. – Jonny

3

Porque están haciendo un http intercept, desafortunadamente no hay nada que puedas hacer. Incluso he encontrado que establecer la puntuación máxima para la tabla de clasificación en itunes connect no tiene ningún efecto.

Un juego en el que trabajé nunca personalizó la partitura en el disco, por lo que no podría haberse cambiado allí, y estableció la puntuación máxima en 30 m. Sin embargo, la tabla de líderes estaba llena de puntuaciones de IntMax unas horas después del lanzamiento.

Afortunadamente, Apple tendrá algunas correcciones en el WDC13 porque, tal como están, las tablas de clasificación mundiales son inútiles.

+0

Triste, esto parece ser un problema. – teewuane

+1

Aparentemente, los gamecenter subs se envían a través de https, lo que hace que man-in-the-middle sea imposible. también proporcionan mejores herramientas de administración en iTunes. Sin embargo, todavía tiene que encriptar sus grabaciones y protegerse de los ataques de memoria. – tenpn

3

tiene dos tablas de puntuación hi: aquellos con Cydia, los que no tienen: P

0

También puede configurar su propio servidor y utilizar la autenticación adecuada y canales para subir la puntuación cifrada y luego simplemente comparar cuál está en su servidor vs cuál en GameCenter ... Aún necesita limpiar la tabla de clasificación, pero al menos sabrá qué remediar y qué usuarios colocar en la lista negra.

Cuestiones relacionadas