» Poradna » Programy

Mobilní hra ovládaná programem - na jakém principu asi funguje?

 |   |  Microsoft Windows 10 Chrome 75.0.3770.100

Dobrý den,narazil jsem na YouTube na 2 streamy, ve kterých má údajně nějaký program hrát mobilní hry Subway Surfers a Temple Run 24h denně po dobu jednoho roku.Subway Surfers:https://www.youtube.com/watchTemple Run:https://www.youtube.com/watchZajímalo by mne, na jakém principu ten program může fungovat, pokud to není celé nějak zfejkované. Ke zmíněným hrám, pokud se nepletu, nejsou zveřejněné zdrojové kódy, takže nějakou doimplementaci automatického pohybu postavičky můžu vyloučit. Dá se to i přesto řešit pouze softwarově, nebo je k vytvoření něčeho takového potřeba spešl hardware, kde program zajišťuje akorát matlání po obrazovce?Poprosím o vaše názory na tuto "blbost", zajímá mne to a rád bych se něčemu třeba přiučil.Děkuji

Odpovědi na otázku

 |   |  Microsoft Windows 10 Chrome 75.0.3770.94

Technické napojení toho "programu" a té skákačky je velmi jednoduché. Například u Androidu při připojení kabelem k PC můžeš po tom kabelu říkat androidu na kterých souřadnicích klikáš.A nebo to celé běží v emulátoru a tam je to klikání dost podobné. Takže čistým SW to udělat jde.Co už je trochu složitější je naprogramování toho jak se to má pohybovat. Nevím zda jsou ty úrovně nějak náhodně generované, nebo je to nějaká statická mapa. U statické mapy lze snadno naprogramovat, že má kliknout na pozici 1, počkat 2s pak kliknout na pozici 2, počkat 8s pak kliknout ... atd. U náhodně generovaných her je to složitější, tam musíš reagovat na obraz, který se zobrazuje a je to o dost složitější.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 67.0

Teoreticky by se dalo i zjišťovat překážky přímo z paměti pomocí nějakého memory scanneru

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 75.0.3770.100

To mi prijde jak scenar ze start reku. Dost naivni predstava, ze lze jednoduse v pameti brouzdat a poznat co je co.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 67.0

To není žádné scifi. Pokud se připojí jeden proces ke druhému, podobně jako to dělají např. debuggery, tak může číst a měnit jeho hodnoty v paměti. Na tomto principu funguje např. nejznámější Cheat engine. Zjistit jakým způsobem jsou v paměti reprezentovány překážky je pak už jen otázka šikovného debuggingu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android AppleMAC-Safari 5.0

Pokud se to provádí na OS, který takovým věcem nebrání, tak v pohodě. Takovy příklad, kdysi ve starších verzích MS Flight simulatoru byla hodně omezená funkčnost modelů letadel jen na základní funkce, které trochu zkušenějším letcům samozřejmě nestačily, takže nějaká chytrá hlava vymyslela knihovnu, která se přidala k souborům hry a externí aplikace s jejím pomocí mohla vyčítat i přepisovat parametry letu a stav letadla přímo v paměti a tím umožnily tvorbu mnohem detailnějších a pokročilejších modelů letadel se simulací mnohem více systémů letadla, než by bez toho "hacku" bylo vůbec možné. Dnešní OS nejspíš už chrání data v paměti před jinými aplikacemi více, než dříve, ale vždycky se to dá udělat buď úpravou OS a nebo použitím emulátoru OS, který tyto možnosti má obvykle přímo v sobě, protože slouží k vývoji aplikací pro daný OS a je potřeba mít možnost číst a měnit externě data v paměti vyvíjené aplikace.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 75.0

Dnešní OS na tom není nijak jinak, než ten včerejší. Windows, linux, macos, rootnutý android atd. všichni z principu umožňují připojit k běžícímu procesu debugger, který může libovolně přistupovat k jeho paměti.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 75.0.3770.80

Jediné co asi lze udělat, je použít nějaký "anti-cheat" v kódu hry, který prakticky znemožní použití debuggeru tím že hodnoty v paměti nejsou na stejné pozici, ale pokaždé jinde. Jen je pravda, že tohle jsem u mobilních hříček ještě nikdy neviděl.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 67.0

I to mé své úskalí. Hodnoty do paměti (i kdyby to mělo být vždy na různá místa) totiž zapisuje nějaký operační kód, který je během běhu programu opět v paměti. Takže stačí vysledovat, které instrukce pracují s hodnotami, které mě zajímají a injectnout si místo nich vlastní operační kód a je to. Jak je zkrátka něco offline, tak se s tím dá dělat s větším, či menším úsilím v podstatě cokoliv.

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Mobilní hra, Subway, Temple


Určitě si přečtěte

Nvidia představila grafické karty GeForce RTX 3090, RTX 3080 a RTX 3070. Známe české ceny

Nvidia představila grafické karty GeForce RTX 3090, RTX 3080 a RTX 3070. Známe české ceny

** Nvidia uvedla nové desktopové grafické karty GeForce RTX 3000 ** Jedná se o modely GeForce RTX 3070, 3080 a 3090 ** K výrobě se používá 8nm technologii od Samsungu

Karel Javůrek | 68

Velký test televizorů v Computeru: i levnější značky překvapily kvalitou obrazu

Velký test televizorů v Computeru: i levnější značky překvapily kvalitou obrazu

** Jak funguje biometrické zabezpečení ve Windows ** Nejlepší správci hesel ** Létáme v Microsoft Flight Simulator

Časopis Computer | 5

Nejlepší notebooky do 20 000 Kč. Tipy, co se dnes vyplatí koupit

Nejlepší notebooky do 20 000 Kč. Tipy, co se dnes vyplatí koupit

** S cenou do 20 tisíc lze vybrat solidní notebook na práci i hry ** Přenosné notebooky nabídnou i kovová těla a rychlý hardware ** Možná největší problém je nedostupnost, nejžádanější kusy jsou vyprodané

David Polesný | 21


Aktuální číslo časopisu Computer

Velký test fitness náramků

Levné záložní zdroje

Jak si zabezpečit domov

Nejlepší monitory na trhu