He visto puntuaciones altas de 999,999 en Flappy Bird , así como muchas otras puntuaciones altas imposibles en juegos como Temple Run, etc., en iPhone y iPad.

¿Cómo puede la gente piratear estos juegos tan fácilmente cuando no puede ver el código fuente? Parece que conocen el código fuente del juego, lo que les permite manipular el archivo del juego con tanta facilidad. No entiendo cómo sucede esto dado que el iPhone de Apple tiene una zona de pruebas, a diferencia de Android.

Comentarios

  • FWIW, Android también incluye aplicaciones de zona de pruebas. El diablo está en los detalles: qué tipo de accesos se previenen y permiten.

Respuesta

Las aplicaciones iOS almacenan sus datos en archivos que están disponibles en una computadora de dos maneras fácilmente accesibles:

  • Dentro de una copia de seguridad de iTunes

  • A través de un dispositivo móvil -herramienta basada en marcos como iExplorer

En mi experiencia, los datos guardados del juego se almacenan en un archivo de lista de propiedades bastante común que se puede manipular a través de la herramienta plutil. Los datos se pueden restaurar y reemplazar sin ningún conocimiento del código. A partir de ahí, es una simple cuestión de cuánto confía la aplicación en su guardar datos.

Para ver un ejemplo de cómo se puede usar no solo para obtener puntuaciones altas, sino también para hacer trampa en un juego, consulte el Nimble Quest iOS Trainer , que a su vez está basado en el marco de MobileDevice.

(El marco de MobileDevice es un marco privado de Apple creado para el acceso a dispositivos iOS, que ha sido diseñado a la inversa para permitir la creación de herramientas de dispositivo iOS no disponibles en Apple.)

Comentarios

  • ¿Es posible, de alguna manera, cifrar estos datos en el marco? Entonces, ¿mi aplicación tiene un archivo plist ilegible para humanos pero aún contiene puntajes altos válidos?
  • Ciertamente, podría oscurecer (para resistencia a la lectura) o suma de verificación (para resistencia a la manipulación) sus datos. Eso elevará el listón, aunque ' seguirá siendo vulnerable si alguien desea modificar tanto los datos que aplicará ingeniería inversa a su aplicación para hacerlo.

Responder

Algunos juegos se comunican con su servidor backend sin cifrar, en texto plano. Si enruta el tráfico a través de un proxy como OWASP ZAP o Burp Suite , puede ver y manipular el tráfico.

He visto juegos que envían las respuestas con la pregunta al iPhone. En este escenario podría resaltar las respuestas correctas. Como resultado, siempre puede obtener el 100%. Otros juegos envían las puntuaciones al servidor. En ese caso, puede agregar unos pocos ceros a su puntaje al enviarlo.

Luego, hay juegos que almacenan sus puntajes en el teléfono como describe zigg. Estos puntajes se almacenan en un formato legible y área de escritura y, por lo tanto, se puede manipular. Esto, por supuesto, solo se almacena en el teléfono, pero puede presumirlo ante sus amigos mostrando su teléfono.

Responder

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *