Passa al contingut principal

Còpia de seguretat d’una figureta de Skylanders amb el mfrc522 i el esp8266

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.

 

En posar aquests Skylanders en el «portal» apareixen la versiĂł digital en el nostre videojoc. Dit d’altra forma, els videojocs sense les figuretes sĂłn inservibles i amĂ©s el preu de cada Skylander varia en funciĂł de les seues habilitats.

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:

Wemos  D1 Mini

5 Clauers RFID

Lector MFRC522

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