Olen nähnyt korkeita tuloksia 999 999 sivustossa Flappy Bird sekä monia muita mahdottomia ennätyksiä peleissä, kuten Temple Run jne., iPhonessa ja iPadissa.
Kuinka ihmiset hakkeroivat näitä pelejä niin helposti, kun he etkö näe lähdekoodia? Näyttää siltä, että he tietävät pelin lähdekoodin, mikä antaa heille mahdollisuuden manipuloida pelitiedostoa niin helposti. En ymmärrä, miten tämä tapahtuu, kun otetaan huomioon, että Apple iPhone on hiekkalaatikko, toisin kuin Android.
Kommentit
- FWIW, Android myös hiekkalaatikoihin. paholainen on yksityiskohdissa: millaiset pääsyt estetään ja sallitaan.
Vastaa
iOS-sovellukset tallentavat tiedot tiedostoista, jotka ovat käytettävissä tietokoneelta kahdella helposti saavutettavalla tavalla:
-
iTunes-varmuuskopion sisällä
-
MobileDevicen kautta -kehykseen perustuva työkalu, kuten iExplorer
Kokemukseni mukaan pelien tallennustiedot tallennetaan melko tavallinen ominaisuusluettelotiedosto, jota voidaan muokata plutil
-työkalun avulla. Tiedot voidaan palauttaa ja korvata ilman kooditietoa. Sieltä se on yksinkertainen kysymys siitä, kuinka paljon sovellus luottaa tallenna tietoja.
Esimerkki siitä, miten tätä voidaan käyttää paitsi huipputuloksiin myös pelin huijaamiseen, on kohdassa Nimble Quest iOS Trainer , joka on itse MobileDevice-kehyspohjainen.
(MobileDevice-kehys on Applen yksityinen kehys, joka on luotu iOS-laitteiden käyttöä varten, ja joka on suunniteltu päinvastoin iOS-laitetyökalujen luominen, joita ei ole saatavana Applelta.)
Kommentit
- Onko mahdollista jotenkin salata nämä tiedot kehyksessä? Joten sovelluksessani on ihmisen lukukelvoton plist-tiedosto, mutta se sisältää silti päteviä korkeita pisteitä?
- Voisit varmasti peittää (lukuvastusta varten) tai tarkistussumman (väärinkäytönkestävyyden vuoksi) tietosi. Se nostaa rimaa, vaikka ' olet silti haavoittuva, jos joku haluaa muokata tietoja niin paljon, että hän suunnittelee sovelluksesi itse tekemään sen.
Vastaus
Jotkut pelit kommunikoivat taustapalvelimensa kanssa salaamattomana, pelkkänä tekstinä. Jos reitit liikenteen välityspalvelimen, kuten OWASP ZAP tai Burp Suite kautta, näet ja manipuloida liikennettä.
Olen nähnyt pelejä, jotka lähettävät vastaukset kysymykseen iPhonelle. Tässä skenaariossa voisin korostaa oikeita vastauksia. Tämän seurauksena voit aina pisteet 100%. Muut pelit lähettävät tulokset palvelimelle. Siinä tapauksessa voit vain lisätä muutaman nollapisteen pisteeseesi, kun lähetät sen.
Sitten on pelejä, jotka tallentavat pisteet puhelimeesi siksak-kuvauksella. Nämä pisteet tallennetaan käyttäjän luettaviin ja kirjoitettava alue ja sitä voidaan siksi muokata. Tämä tietysti tallennetaan vain puhelimeen, mutta voit näyttää ystävillesi vilkkumalla puhelinta.