» 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

Zorin OS 15: Vyzkoušejte další hezký a nenáročný linux pro mamku a taťku

Zorin OS 15: Vyzkoušejte další hezký a nenáročný linux pro mamku a taťku

** Ačkoliv je grafických linuxů plný internet, stále vládnou Windows ** Jeden z nich se jmenuje Zorin OS a nedávno se dočkal aktualizace ** Dělají jej dva kluci z Irska a je fakt hezký

Jakub Čížek | 114

10 novinek Androidu 10, které vás budou bavit

10 novinek Androidu 10, které vás budou bavit

Jan Láska, Vladislav Kluska | 26

Kdyby měli železničáři tento superpočítač za 99 dolarů, nepotřebovali by lasery

Kdyby měli železničáři tento superpočítač za 99 dolarů, nepotřebovali by lasery

** Nejmodernější český železniční tunel je prošpikovaný technologiemi ** Za tři tisíce koupíte počítač, který je překoná ** Seznamte se s Nvidia Jetson Nano

Jakub Čížek | 50

16 tipů a vychytávek, se kterými dokonale ovládnete komunitní navigaci Waze

16 tipů a vychytávek, se kterými dokonale ovládnete komunitní navigaci Waze

** Waze není jen navigace – je to i sociální síť s dopravními informacemi ** Mobilní aplikace skýtá široké možnosti nastavení ** Vybrali jsme pro vás 16 nejzajímavějších tipů a triků

Karel Kilián | 48



Aktuální číslo časopisu Computer

Speciál o přechodu na DVB-T2

Velký test herních myší

Super fotky i z levného mobilu

Jak snadno upravit PDF