Am văzut scoruri mari de 999.999 pe Flappy Bird , precum și multe alte scoruri imposibile la jocuri precum Temple Run etc., pe iPhone și iPad.
Cum hackerează oamenii atât de ușor aceste jocuri când nu puteți vedea codul sursă? Se pare că știu codul sursă al jocului, ceea ce îi face să poată manipula fișierul jocului atât de ușor. Nu înțeleg cum se întâmplă acest lucru având în vedere că iPhone-ul Apple este izolat, spre deosebire de Android.
Comentarii
- FWIW, Android, de asemenea, aplicații sandbox. diavolul se află în detalii: ce tipuri de accesuri sunt împiedicate și permise.
Răspuns
Aplicațiile iOS își stochează date în fișiere care sunt disponibile de pe un computer în două moduri ușor accesibile:
-
În interiorul unui backup iTunes
-
Prin intermediul unui dispozitiv mobil -instrument bazat pe cadru, cum ar fi iExplorer
Din experiența mea, datele de salvare a jocurilor sunt stocate într-un fișier de listă de proprietăți destul de obișnuit, care este manipulabil prin instrumentul plutil
. Datele pot fi restaurate și înlocuite fără cunoștințe de cod. De acolo, este o chestiune simplă a cât de multă încredere are aplicația salvați datele.
Pentru un exemplu despre modul în care acest lucru poate fi folosit nu doar pentru scoruri mari, ci pentru a înșela la un joc, consultați Nimble Quest iOS Trainer , care este el însuși bazat pe framework-ul MobileDevice.
(cadrul MobileDevice este un cadru privat Apple creat pentru accesul dispozitivelor iOS, care a fost proiectat invers pentru a permite crearea instrumentelor de dispozitiv iOS nu este disponibilă de la Apple.)
Comentarii
- Este posibil, cumva, să criptați aceste date în cadrul? Deci aplicația mea are un fișier plist ilizibil pentru om, dar conține în continuare scoruri valabile?
- Cu siguranță, puteți ascunde datele (pentru rezistență la citire) sau suma de control (pentru rezistență la manipulare). Acest lucru va ridica bara, deși ' veți fi în continuare vulnerabil dacă cineva dorește să modifice atât de mult datele, încât să vă proiecteze aplicația în sine pentru a o face.
Răspuns
Unele jocuri comunică cu serverul lor backend necriptat, în text simplu. Dacă direcționați traficul printr-un proxy precum OWASP ZAP sau Burp Suite puteți vedea și manipulați traficul.
Am văzut jocuri care trimit răspunsurile cu întrebarea pe iPhone. În acest scenariu aș putea evidenția răspunsurile corecte. Drept urmare, puteți obține întotdeauna 100%. Alte jocuri trimit scorurile către server. În acest caz, puteți doar să adăugați câțiva zero la scor atunci când îl trimiteți.
Apoi, există jocuri care stochează scorurile dvs. pe telefon așa cum descrie zigg. Aceste scoruri sunt stocate într-un utilizator care poate fi citit și zona care se poate scrie și, prin urmare, poate fi manipulată. Aceasta este, desigur, stocată doar pe telefon, dar vă puteți arăta prietenilor dvs. intermitând telefonul.