カスカ 懐石・研究 4枚目

このエントリーをはてなブックマークに追加
79名無しさん@編集中
BC01の先頭にカードID等の情報が入っているっぽいのは周知の事実だけど、
このあたりをいろいろいじってみて判明したこと。

BC01の0x20からの6バイトがカードID。
ここの6バイトをビット反転させて10進数に直せば意味がわかるはず。
その次の0x26がカードIDのチェックサム。カードIDを変更すると、それに応じてここも変える必要がある。

で、カードIDを偽装すれば他人のEMMも受信しまくりかも!?と思って、
放送波からEMM抜き出してその対象IDに偽装してEMMを食わせたところ、応答は「0xA107(EMM改ざんエラー)」。
なので、やはりカードID=Kmという単純な話ではなさそうということがわかった。(なお自ID宛てじゃないEMMを食わせると0xA1FEになるので、それとはまた違う反応)

で、BC01の先頭をよーく見てみると、カードIDを示す部分の後に、いかにも怪しげな10バイトぐらいのデータがあるじゃないですか。
明らかにここがKmっぽい感じがするので、とりあえずここをいろいろ改変してみたところ、
0x27からの8バイトが何らかのデータ(Kmじゃないかとほぼ確信)で、その次の0x35がそのチェックサムということが分かった。
で、この8バイトをいじくると自分宛のEMMも0xA107になるので、たぶんKmでビンゴ。

0x36もカードごとにユニークな数値だけど、これに関しては今のところ不明。