A SmileBasic 4 hibáján át nyitotta meg egy kutató a Switch 2 rendszerét
Módosított karaktereket mutatott be a Mario Kart World játékban Sammy Hajhamid, aki szoftveres úton szerzett részleges hozzáférést a Switch 2 rendszeréhez. A bemutatott módszer az eredeti Switch-re készült SmileBasic 4 hibájából indul, és egy ugyanazon a hálózaton működő macOS vagy Linux gépet is igényel.
Részleges hozzáférést mutatott be, nem teljes feloldást
Az interneten Pepsipu néven ismert kutató úgynevezett userland-hozzáférést ért el a konzolon. Beszámolója szerint ezzel saját készítésű programokat futtathat, vizsgálhatja és módosíthatja a Switch 2 játékait, valamint a készüléken kívülre másolhatja a mentéseket. Emellett a konzol perifériáinak többségéhez is hozzáférhet.
Hajhamid a Mario Kart World módosított szereplőivel szemléltette az eredményt. Mások egyszerű demókat és még készülő fejlesztői eszközöket is bemutattak a módszerrel megnyitott hardveren. A jelenlegi beszámoló tehát kutatói eredményeket és működési példákat ismertet.
Külön számítógép is kell a módszerhez
A kiindulópont a SmileBasic 4 eredeti Switch-változata. Ez a Nintendo hardverein futó programozási környezetek és értelmezők régóta létező sorozatának legújabb tagja.
A részleges jailbreak kizárólag szoftveres, de a beszámoló „tethered” módszerként írja le: egy másik géphez kötődik. A konzollal közös hálózaton lévő macOS vagy Linux számítógépen egy node.js csomagnak kell futnia, amely segít a magasabb jogosultságú rendszerhozzáférés elérésében. A Nintendo esetleges korlátozásairól és a rendszerfrissítések hatásáról a forrás nem ad tájékoztatást.
A Codex és egy automatizált tesztrendszer segített a hibakeresésben
Hajhamid az OpenAI Codex segítségével vizsgálta a SmileBasic nyelvi értelmezőjét. Ehhez saját tesztrendszert épített, amely USB-n küldött parancsokat a készüléknek, az eredményt pedig HDMI-n keresztül figyelte. A ki- és bekapcsolást egy Bluetooth-kapcsolatú, villanykapcsolót működtető eszközzel oldotta meg.
A kutató jelentős munkáról és körülbelül 2 hétről számolt be. A tesztelés során egy 32 bites egészszám-túlcsordulást találtak, amely a SmileBasic tömbjeiből végzett elemtörléskor jelentkezik. Ezen keresztül elérhetővé vált egy tömbmutató, majd a rendszermemória egyes részeinek olvasása és írása.
A fájlrendszer szolgáltatásán keresztül jutott tovább
A következő lépésben Hajhamid a Switch 2 belső rendszermoduljait kezdte vizsgálni. Olyan lehetőséget keresett, amellyel magasabb jogosultságot szerezhet a konzol alapvető funkcióihoz.
Végül a FileSystem szolgáltatásmodulban talált puffertúlcsordulást. Ez hozzáférést adott egy gyorsítótárazott adatmutatóhoz, majd tetszőleges olvasási és írási jogosultsághoz vezetett. A kutató beszámolója szerint ezután magasabb jogosultságot igénylő fájlrendszerműveleteket hajtott végre, és egy hamisított fájlrendszerfolyamat segítségével natív kódot is futtatott.
A cikk mesterséges intelligencia segítségével készült; a szerkesztőség ellenőrizte és jóváhagyta. Impresszum