Viděl jsem vysoké skóre 999 999 na Flappy Bird a mnoho dalších nemožných vysokých skóre ve hrách, jako je Temple Run atd., na iPhone a iPad.
Jak lidé tyto hry tak snadno hacknou, když nevidíte zdrojový kód? Vypadá to, že znají zdrojový kód hry, což jim umožňuje snadno manipulovat se souborem hry. Nechápu, jak k tomu dochází, protože Apple iPhone je na rozdíl od Androidu izolovaný.
Komentáře
- FWIW, Android také pískuje aplikace. ďábel je v detailech: jakým druhům přístupů je zabráněno a povoleno.
Odpověď
Aplikace pro iOS ukládají své data v souborech, které jsou k dispozici na počítači dvěma snadno přístupnými způsoby:
-
Uvnitř zálohy iTunes
-
Prostřednictvím MobileDevice -rámcový nástroj jako iExplorer
Podle mých zkušeností jsou data pro ukládání her uložena v docela obyčejný soubor se seznamem vlastností, s nímž lze manipulovat pomocí nástroje plutil
. Data lze obnovit a nahradit bez znalosti kódu. Odtud je jednoduchá otázka, jak moc aplikace důvěřuje ukládat data.
Příklad toho, jak to lze použít nejen pro vysoké skóre, ale také k podvádění při hře, najdete v Nimble Quest iOS Trainer , který je sám o sobě založen na MobileDevice-framework.
(MobileDevice framework je soukromý rámec Apple vytvořený pro přístup zařízení iOS, který byl reverzně navržen tak, aby umožňoval vytváření nástrojů zařízení iOS, které Apple nemá k dispozici.)
Komentáře
- Je možné nějakým způsobem zašifrovat tato data v rámci? Moje aplikace má tedy lidsky nečitelný soubor plist, ale stále obsahuje platná nejvyšší skóre?
- Určitě byste mohli zakrýt (pro odolnost proti čtení) nebo kontrolní součet (pro odolnost proti neoprávněné manipulaci). To zvýší laťku, i když ' budete stále zranitelní, pokud někdo bude chtít upravit data natolik, že na to provede zpětnou analýzu samotné aplikace.
Odpověď
Některé hry komunikují se svým back-endovým serverem nešifrovaně, prostým textem. Pokud směrujete provoz přes proxy server, jako je OWASP ZAP nebo Burp Suite , můžete vidět a manipulovat s provozem.
Viděl jsem hry, které posílají odpovědi s otázkou do iPhone. V tomto scénáři bych mohl zdůraznit správné odpovědi. Díky tomu můžete vždy dosáhnout 100%. Ostatní hry zasílají skóre na server. V takovém případě stačí k odeslání skóre přidat několik nul.
Pak existují hry, které ukládají vaše skóre do telefonu, jak popisuje zigg. Tyto skóre jsou uloženy v uživatelsky čitelném a zapisovatelná oblast, a proto s ní lze manipulovat. Toto se samozřejmě ukládá pouze v telefonu, ale můžete se předvést svým přátelům blikáním telefonu.