Een Canadese onderzoekster heeft een Tamagotchi gehackt en is erin geslaagd om er eigen software op te draaien. Complicerende factor was het gebrek aan documentatie en rekenkracht. Ook was het moeilijk om de software op de Tamagotchi te krijgen.
De Canadese onderzoekster Natalie Silvanovich, in het dagelijks leven beveiligingsonderzoekster bij BlackBerry, presenteert de resultaten van haar hackpogingen zondag op de CCC-hackersconferentie in Hamburg. Vorig jaar gaf Silvanovich daarover ook al een presentatie, maar in het afgelopen jaar is ze er voor het eerst in geslaagd om software te draaien op de Tamagotchi's. "Als kind speelde ik veel met Tamagotchi's en als volwassene dacht ik: ik kan ze natuurlijk ook gewoon hacken", zo zegt de onderzoekster tegenover Tweakers.
De apparaatjes hebben geen beveiliging aan boord tegen het uitvoeren van software van derden, maar toch was het moeilijk om eigen software op het apparaat te draaien. "Het was heel veel trial and error", zo zegt Silvanovich. "Er is geen debug-mogelijkheid, dus je weet niet waarom wat je doet niet werkt." Ook is er geen documentatie over de werking van de Tamagotchi's, waardoor Silvanovich van alles moest uitproberen totdat haar software werkte. "Er is niets gedocumenteerd over de werking van de microcontroller of over de werking van de poorten", aldus Silvanovich. Daarnaast is de rekenkracht beperkt.
Ook het plaatsen van de software op de Tamagotchi was moeilijk. Uiteindelijk gebruikte ze daarvoor een accessoire, waarin ze een beveiligingsprobleem had gevonden. "Ik heb een bordje ontworpen waarin je het accessoire kunt stoppen, waarna mijn software op het accessoire wordt geplaatst", aldus Silvanovich. Door daarna het accessoire in de Tamagotchi te plaatsen en een spelletje te starten, werd haar code uitgevoerd. Op dit moment gaat het enkel nog om proof of concepts, zoals afbeeldingen en animaties, en nog geen bruikbare software.
De code bleef niet permanent aanwezig op de Tamagotchi; technisch gezien is het niet mogelijk om software naar de rom weg te schrijven. "Mijn code blijft aanwezig op de software nadat het accessoire weer is verwijderd, maar niet na een reboot", aldus Silvanovich. "Reboots komen echter niet vaak voor, meestal pas na enkele weken." Om de code permanent op de Tamagotchi te plaatsen, zou de hardware moeten worden gewijzigd.
Nieuwe Tamagotchi's zijn een stuk uitgebreider dan die van een decennium terug, die in Nederland populair waren, maar ze zijn nog steeds niet erg krachtig. "Een Tamagotchi heeft 512 of 1024 bytes aan intern geheugen", aldus Silvanovich. "De code draait rechtstreeks vanuit het geheugen, waardoor het snel vol raakt." Daardoor is de functionaliteit van zelfgeschreven programma's beperkt. Desondanks zou het werk van Silvanovich kunnen leiden tot homebrew-software voor de Tamagotchi.
De software schrijft ze in machinecode. Nu Silvanovich weet hoe ze eigen software moet draaien op de Tamagotchi's, heeft ze plannen voor uitgebreidere software. "Ik wil nu bijvoorbeeld een tv-afstandsbediening van mijn Tamagotchi maken", aldus Silvanovich. "Technisch gezien kan het, maar ik moet de code nog schrijven." Volgens Silvanovich is ze zelfs al benaderd door hackers die cryptografie willen implementeren op de Tamagotchi. "Al weet ik niet zo goed waarom", zegt ze. Geïnteresseerden kunnen de ontwikkeltools die Silvanovich heeft gemaakt downloaden van Github.
Links: een proof of concept van Silvanovich; rechts: het bordje dat Silvanovich ontwierp voor het flashen naar het accessoire.