Ho visto i punteggi più alti di 999.999 su Flappy Bird e molti altri record impossibili su giochi come Temple Run e così via su iPhone e iPad.

Come fanno le persone a hackerare questi giochi così facilmente quando non riesci a vedere il codice sorgente? Sembra che conoscano il codice sorgente del gioco, il che li rende in grado di manipolare il file del gioco così facilmente. Non capisco come questo accada dato che lApple iPhone è in modalità sandbox, a differenza di Android.

Commenti

  • FWIW, anche Android usa sandbox. diavolo è nei dettagli: quali tipi di accesso sono impediti e consentiti.

Risposta

Le applicazioni iOS memorizzano dati in file disponibili da un computer in due modi facilmente accessibili:

  • Allinterno di un backup di iTunes

  • Tramite un dispositivo mobile -strumento basato su frame come iExplorer

Nella mia esperienza, i dati di salvataggio del gioco sono archiviati in un file di elenco delle proprietà abbastanza ordinario che è manipolabile tramite lo strumento plutil. I dati possono essere ripristinati e sostituiti senza alcuna conoscenza del codice. Da lì è una semplice questione di quanto lapp si fidi del suo salvare i dati.

Per un esempio di come questo può essere utilizzato non solo per i punteggi più alti, ma per imbrogliare in una partita, vedere il Nimble Quest iOS Trainer , che a sua volta è basato sul framework MobileDevice.

(Il framework MobileDevice è un framework privato Apple creato per laccesso ai dispositivi iOS, che è stato decodificato per abilitare la creazione di strumenti per dispositivi iOS non disponibili da Apple.)

Commenti

  • È possibile, in qualche modo, crittografare questi dati nel framework? Quindi la mia app ha un file plist illeggibile ma contiene ancora punteggi più alti validi?
  • Potresti certamente oscurare (per resistenza alla lettura) o checksum (per resistenza alla manomissione) i tuoi dati. Ciò aumenterà il livello, anche se ' sarai ancora vulnerabile se qualcuno vuole modificare i dati così tanto da decodificare la tua app stessa per farlo.

Risposta

Alcuni giochi comunicano con il loro server di backend non crittografati, in testo normale. Se instradi il traffico attraverso un proxy come OWASP ZAP o Burp Suite puoi vedere e manipolare il traffico.

Ho visto giochi che inviano le risposte con la domanda alliPhone. In questo scenario potrei evidenziare le risposte corrette. Di conseguenza puoi sempre ottenere il 100%. Altri giochi inviano i punteggi al server. In tal caso puoi semplicemente aggiungere qualche zero al tuo punteggio quando lo invii.

Poi ci sono giochi che memorizzano i tuoi punteggi sul telefono come descrive zigg. Questi punteggi sono memorizzati in un utente leggibile e area scrivibile e può quindi essere manipolata. Questo è ovviamente memorizzato solo sul telefono, ma puoi mostrarlo ai tuoi amici facendo lampeggiare il tuo telefono.

Rispondi

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *