I bricked a Mifare 1k tag during an attempt to write to block n°0 (to change the UID), I would like to understand what I did wrong.
Just for reminder, the datasheet of the Mifare 1k => 1
I used :
- a Proxmark Easy ;
- a tag with a writable block 0 (bought online).
First, I searched the tag
proxmark3> hf search
UID : fa 33 78 19
ATQA : 00 04
SAK : 08 [2]
TYPE : NXP MIFARE CLASSIC 1k | Plus 2k SL1
proprietary non iso14443-4 card found, RATS not supported
No chinese magic backdoor command detected
Prng detection: WEAK
So, the UID is fa 33 78 19
Then, I read de block 0 using the key A (which I knew to be "FFFFFFFFFFFF")
proxmark3> hf mf rdbl 0 A FFFFFFFFFFFF
--block no:0, key type:A, key:ff ff ff ff ff ff
#db# READ BLOCK FINISHED
isOk:01 data:fa 33 78 19 a8 08 04 00 62 63 64 65 66 67 68 69
We find the UID identified earlier fa 33 78 19
Then, I tried to modify it by replacing only the bytes associated to the UID :
proxmark3> hf mf wrbl 0 A FFFFFFFFFFFF FFFFFFFFa80804006263646566676869
--block no:0, key type:A, key:ff ff ff ff ff ff
--data: ff ff ff ff a8 08 04 00 62 63 64 65 66 67 68 69
#db# WRITE BLOCK FINISHED
isOk:01
But after that, there's no way to communicate with the tag, it's bricked...
proxmark3> hf mf rdbl 0 A FFFFFFFFFFFF
--block no:0, key type:A, key:ff ff ff ff ff ff
#db# Can't select card
#db# READ BLOCK FINISHED
isOk:00
proxmark3> hf search
#db# Reading card ...
No or unknown card found, aborting
Where's my mistake?