Widziałem wysokie wyniki 999 999 na Flappy Bird i wiele innych niemożliwych do osiągnięcia wysokich wyników w grach takich jak Temple Run itp. na iPhonie i iPadzie.

Jak ludzie tak łatwo hakują te gry, nie widzisz kodu źródłowego? Wygląda na to, że znają kod źródłowy gry, dzięki czemu mogą tak łatwo manipulować plikiem gry. Nie rozumiem, jak to się dzieje, biorąc pod uwagę, że Apple iPhone działa w trybie piaskownicy, w przeciwieństwie do Androida.

Komentarze

  • FWIW, Android także aplikacje piaskownicy. diabeł tkwi w szczegółach: jakie rodzaje dostępu są blokowane i dozwolone.

Odpowiedź

Aplikacje iOS przechowują swoje dane w plikach, które są dostępne z komputera na dwa łatwo dostępne sposoby:

  • W kopii zapasowej iTunes

  • Za pomocą urządzenia mobilnego -programowe narzędzie, takie jak iExplorer

Z mojego doświadczenia wynika, że dane zapisu gry są przechowywane w dość zwykły plik z listą właściwości, którym można manipulować za pomocą narzędzia plutil. Dane można przywrócić i zastąpić bez znajomości kodu. Stąd jest prosta kwestia tego, jak bardzo aplikacja ufa swoim zapisać dane.

Aby zobaczyć przykład, jak można tego użyć nie tylko do uzyskania wysokich wyników, ale także do oszukiwania w grze, zobacz Nimble Quest iOS Trainer , który sam jest oparty na frameworku MobileDevice.

(Framework MobileDevice to prywatna struktura Apple stworzona dla dostępu do urządzeń iOS, która została poddana inżynierii wstecznej, aby umożliwić tworzenie narzędzi dla urządzeń iOS niedostępnych od Apple.)

Komentarze

  • Czy można w jakiś sposób zaszyfrować te dane we frameworku? Więc moja aplikacja zawiera plik plist, którego nie można odczytać dla człowieka, ale nadal zawiera prawidłowe wysokie wyniki?
  • Z pewnością możesz ukryć (ze względu na odporność na odczyt) lub sumę kontrolną (ze względu na odporność na manipulacje). To podniesie poprzeczkę, chociaż ' nadal będziesz narażony, jeśli ktoś będzie chciał zmodyfikować dane tak bardzo, że przeprowadzi inżynierię wsteczną samej aplikacji, aby to zrobić.

Odpowiedź

Niektóre gry komunikują się ze swoim serwerem w postaci niezaszyfrowanej, w postaci zwykłego tekstu. Jeśli kierujesz ruch przez serwer proxy, taki jak OWASP ZAP lub Burp Suite , możesz zobaczyć i manipulować ruchem.

Widziałem gry, które wysyłają odpowiedzi z pytaniem na iPhonea. W tym scenariuszu mógłbym podkreślić prawidłowe odpowiedzi. W rezultacie zawsze możesz zdobyć 100%. Inne gry wysyłają wyniki na serwer. W takim przypadku możesz po prostu dodać kilka zera do swojego wyniku podczas przesyłania.

Są też gry, które przechowują Twoje wyniki w telefonie zgodnie z opisem zigga. Te wyniki są przechowywane w postaci czytelnej dla użytkownika i zapisywalny obszar i dlatego można nim manipulować. Jest on oczywiście przechowywany tylko w telefonie, ale możesz pochwalić się swoim znajomym, flashując telefon.

Odbierz

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *