Avui en dia no deuen quedar molts pares que no coneguen els videojocs de Skylanders, estan presents en totes les consoles (Wii, WiiU, 3DS, Nintendo Switch, PS3, PS4, Xbox 360, Xbox One).
Com a una breu introducció, aquests jocs estan basats en unes figuretes anomenades Skylanders com la de la imatge següent.
Es habitual començar amb un «starter pack» , o siga, joc el portal i 3 Skylanders, però és més que habitual que acaben comprant-se figuretes noves (hi han fases del joc que solament es poden jugar en si tens el Skylander adequat).
Amés, el progrés del nostre Skylander, a mesura que es va jugant, s’emmagatzema en la mateixa figura.
D’aquesta forma si se’ns trenca un Skylander no solament perdrem a una figureta sinó que també el nostre progrés emmagatzemat en la figureta.
Tot això fa pensar que seria recomanable tindre una còpia de seguretat del nostre Skylander.
Si ja tens experiència amb arduino i tens un en casa ESP8266 ho podràs fer a un cost irrisori.
Material
En aquest tutorial podeu veure com fer una còpia de seguretat del vostre skylander emprant la plataforma arduino.
Les figures de Skylanders són en realitat un dispositiu RFID basat en Mifare Classic de 1K
El material que ens caldrà és:
- Wemos D1 Mini, nodeMCU basat en ESP8266 o equivalent. Cost aproximat uns 3€.
- Lector RFID basat en le MFRC522 (cost aproximat 1,5€) (ací s'ha de tindre molt en compte que hi han moltes versions que semblen idèntiques però en realitat no poden llegir Skylanders)
- Targetes Mifare classic 1k amb el bloc 0 que es puga escriure (magic cards) 2€ 5 targetes o clauers.
És molt important
que la targeta suporte que es puga escriure en el bloc 0 per a
sobreescriure el UID
Ací vos deixe els que he comprat jo:
Total aproximat 6,5€
Programari
Per a fer la còpia ens cal tindre del sklylander sklykeys.py per a generar les claus de lectura:
https://github.com/elbuit/sklylander
i el mfrc522cli per a llegir i escriure en la targeta:
https://github.com/elbuit/mfrc522cli
El procés
Per a poder llegir un Skylander ens calen les claus de cada sector.
Aquestes claus estan generades per un algorisme basat en el UID del Skylander, podeu veure més informació en https://nfc.toys/#activision-skylanders
Es per això que ens cal primerament obtindre aquest UID.
Ho farem amb el mfrc522cli pel port sèrie.
# read uid Scanned PICC's UID: 86FE46F3
Amb aquest UID ja podem generar les claus amb el sklykeys.py:
python3 sklykeys.py -u 86FE46F3 4b0b2010XXXX 7d803723XXXX 5bede37aXXXX [...]
Ara ja podrem llegir el Skylander.
En el mfrc522cli carreguem aquestes claus
# clear > clear lka 0 4b0b2010XXXX lka 1 7d803723XXXX [...] lka 15 76028cc5XXXX > lka OK
Una vegada carregades les claus en el mfrc522cli ja podem llegir el contingut del Skylander
# read card > read Read CARD: OK
Si el que volem es veure el contingut del Skylander:
# show data
L’eixida per pantalla la podem copiar a un arxiu per a tindre una còpia de seguretat del nostre Skylander i el seu progrés fins al moment de la còpia.
No obstant això si el que volem és una còpia física en una altra targeta RFID:
# write clone
> write
Apropem la targeta
Write CARD:
OK
Amb tot això ja tindrem una còpia funcional del nostre Skylander.
BONUS TRACK
Cap la possibilitat que deixem la nostra targeta completament inservible.
També, que al haver escrit els blocs trailer que inclouen les claus d’accés no pugam tornar a emprar la targeta si no recordem les claus.
Per això el mfrc522cli disposa d’una opció per a «reparar» una targeta que estiga en algun d’aquests casos, sempre i quan la targeta siga del tipus «Magic card»
El procés és ben senzill:
fix start fix trailer
Apropem la targeta
fix stop
Aquest procés sobreescriurà el block 0 i els blocks trailer de cada sector i els deixarà amb la clau per defecte (FFFFFFFFFFFF)
Enllaços:
https://nfc.toys/workflow-sky.html
https://github.com/nfctoys/nfctoys
https://github.com/elbuit/sklylnader
https://github.com/elbuit/mfrc522cli
https://www.elotrolado.net/hilo_tutorial-clonar-skylanders-todos-los-juegos-con-un-pm3-o-acr122u_2311960
Comentaris
Publica un comentari a l'entrada