今週届いたtouchanoteのタグ。
データを見る限りはNDEFだし、アクセスはUltralightっぽい。
SAK(SEL_RES)も0x00だし。
そう思ってType2タグのNDEFデータ解析方法を学んでいたのだが、疑問が出てきた。
Type 2TagドキュメントでいうところのCC(Capability Container)、Mifare UltralightでいうところのOTP(One Time Programmable)。
ここの3byte目が0x12なのだ。
3byte目は、データ部のサイズで、8倍した値がバイト数になる。
ということは、18*8=144byte。
Mifare Ultralightって、全部でも64byte。それよりも大きい。
んん??
困ったことに、このOTPはプログラマブルというくらいなので、現在の状態を表しているわけではない。
もし144byteが正しいなら、Internalな部分が16byteなので、あわせて160byte。
中途半端だ・・・が、EEPROMだからビット数だけだよと言われてしまえばわからん。
UltralightCは192byteなので、そっちの方がサイズが近い。
けど、データ部以外が48byteもあるってことになるやん。
touchanoteのホームページから、UltralightCと同じような、という記述を発見。
よく読んだ方がいいな、私は。
UltralightCであることがわかれば、あとは仕様書を探して読めばわかる。
うん、データ構造が多少異なり、データのお尻の方に認証関係のデータがある。
ここが32byte使っている。
残りの16byteは、UIDとかLockとかの4ブロックだ。
これで計算が合った。
そして、最初の目的であったNDEFの調査はできずじまいでありましたとさ。
めでたしめでたし。
しかし、どうやってUltralightとUltralightCを見分けたらいいんだろう、と思って検索すると、同じように思った人はやはりいたようだ。
http://www.libnfc.org/community/topic/218/how-to-distinguish-a-mifare-ultralight-c/
ああ、そうなんだね・・・。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。