Jag har sett höga poäng på 999,999 på Flappy Bird liksom många andra omöjliga poäng på spel som Temple Run, etc., på iPhone och iPad.
Hur hackar folk dessa spel så enkelt när de kan du inte se källkoden? Det verkar som om de känner till källkoden för spelet, vilket gör att de kan manipulera spelfilen så enkelt. Jag förstår inte hur detta händer med tanke på att Apple iPhone är sandboxad, till skillnad från Android.
Kommentarer
- FWIW, Android sandboxar också appar. djävulen finns i detaljerna: vilken typ av åtkomst som förhindras och tillåts.
Svar
iOS-applikationer lagrar sina data i filer som är tillgängliga från en dator på två lättillgängliga sätt:
-
Inuti en iTunes-säkerhetskopia
-
Via en MobileDevice -ramverkbaserat verktyg som iExplorer
Enligt min erfarenhet lagras spara data i en ganska vanlig egendomslistafil som kan hanteras via verktyget plutil
. Data kan återställas och ersättas utan någon kodkunskap. Därifrån är det en enkel fråga om hur mycket appen litar på spara data.
För ett exempel på hur detta inte bara kan användas för höga poäng utan för att fuska i ett spel, se Nimble Quest iOS Trainer , som i sig är MobileDevice-ramverkbaserat.
(MobileDevice-ramverket är ett privat privat ramverk från Apple som skapats för iOS-enhetsåtkomst, som har omarbetats för att möjliggöra skapandet av iOS-enhetsverktyg som inte är tillgängliga från Apple.)
Kommentarer
- Är det möjligt att på något sätt kryptera dessa data i ramverket? Så min app har en mänsklig oläslig plistfil men innehåller fortfarande giltiga höga poäng?
- Du kan säkert dölja (för läsmotstånd) eller kontrollsumma (för manipuleringsmotstånd) dina data. Det kommer att höja ribban, även om du ' fortfarande är sårbar om någon vill ändra informationen så mycket att de kommer att omarbeta din app själv för att göra det.
Svar
Vissa spel kommunicerar med sin backend-server okrypterad, i klartext. Om du dirigerar trafiken genom en proxy som OWASP ZAP eller Burp Suite kan du se och manipulera trafiken.
Jag har sett spel som skickar svaren med frågan till iPhone. I det här scenariot kunde jag lyfta fram de rätta svaren. Som ett resultat kan du alltid göra 100%. Andra spel skickar poängen till servern. I så fall kan du bara lägga till några nollor till din poäng när du skickar den.
Sedan finns det spel som lagrar dina poäng på telefonen som zigg beskriver. Dessa poäng lagras i en användarläsbar och skrivbart område och kan därför manipuleras. Detta lagras naturligtvis bara på telefonen, men du kan visa upp för dina vänner genom att blinka din telefon.