Hakerski trikovi iz Super Marija za zaštitu softvera

Kako bi bolje razumjeli vrste pogrešaka koje iskorištavaju 'speedrunneri', istraživači su proučili četiri rane verzije igre

Preneseno sa University of Bristol utorak, 23. travnja 2024. u 21:55
Istraživači Sveučilišta u Bristolu analizirali su i klasificirali 237 poznatih pogrešaka 📷 Nintendo
Istraživači Sveučilišta u Bristolu analizirali su i klasificirali 237 poznatih pogrešaka Nintendo

Igrači koji iskorištavaju pogreške u video igrama mogu pomoći stručnjacima da bolje razumiju pogreške u softveru, tvrde istraživači sa Sveučilišta u Bristolu. Tamošnji su studenti naime ispitali četiri klasične Nintendove "Super Mario" igre i u njima analizirali i klasificirali 237 poznatih pogrešaka. Potom su provjerili da li se iste pogreške javljaju i u konvencionalnom softveru.

Test četiri igre

Kako bi bolje razumjeli vrste pogrešaka koje iskorištavaju speedrunneri, proučili su četiri najranije platformske igre: "Super Mario Bros" (1985.), "Super Mario Bros. 3" (1988.), "Super Mario World" (1990.) i "Super Mario 64" (1996.). Iako su stare, ove igre su dobro proučene, još uvijek su aktualne i svako malo u njima padaju novi rekordi pa su idealne za analizu. Trenutačno vrijeme svjetskog rekorda za osvajanje Super Mario svijeta iznosi nevjerojatnu 41 sekundu. 

Trenutačni svjetski rekord za osvajanje Super Mario svijeta iznosi nevjerojatnu 41 sekundu 📷 Nintendo
Trenutačni svjetski rekord za osvajanje Super Mario svijeta iznosi nevjerojatnu 41 sekundu Nintendo

"Mnoge rane videoigre napisane su za konzole koje se razlikuju od uniformnijeg hardvera modernih sustava za igranje. Ograničenja koja proizlaze iz hardvera, poput ograničene memorije i sabirnice iziskuju potrebu za agresivnom optimizacijom i trikovima kako bi igre radile dobro", objašnjava dr. Joseph Hallett iz Bristolske škole računalnih znanosti. "Mnoge od ovih tehnika, primjerice NES-ovo mapiranje memorije, mogu dovesti do pogrešaka jer su prilično različite od onoga kako programeri obično očekuju da stvari rade."

Knjiga kodova

Kategoriziranje pogrešaka u softveru omogućuje programerima razumijevanje sličnih problema i grešaka. Common Weakness Enumeration (CWE) sustav je kategorija za hardverske i softverske slabosti i ranjivosti, a istraživači su identificirao sedam novih, dosad nespecificiranih kategorija slabosti.

'Speedrunneri' su ispitali četiri najranije verzije igre iz osamdesetih i devedesetih 📷 Nintendo
'Speedrunneri' su ispitali četiri najranije verzije igre iz osamdesetih i devedesetih Nintendo

"Otkrili smo da neki od kvarova koje koriste speedrunneri nemaju urednu kategorizaciju u postojećim taksonomijama softverskih pogrešaka i da možda postoje nove vrste pogrešaka koje treba potražiti u općenitijem softveru", kažu istraživači koji su igre analizirali s knjigom kodova postojećih softverskih slabosti (CWE), kvalitativnom istraživačkom metodom koja pomaže u kategorizaciji složenih pojava.

“Proučavanjem pogrešaka možemo bolje razumjeti jesu li bugovi isti oni s kojima se hakira drugi softver. Pokazalo se da speedrunneri imaju neke trikove za koje prije nismo znali", kažu bristolski istraživači koji su o svojim zapažanjima izvijestili na Radionici o igrama i softverskom inženjerstvu (GAS) u sklopu Međunarodne konferencije o softverskom inženjerstvu (ICSE) i sad se okreću proučavanju Pokémon videoigara.