FelicaチップはSonyが開発した非接触型(リーダ/ライタ(以下,RW)にタッ チするだけで良い)のICカードで、SuicaやEdyなどに使われています。
Felicaには固有のID(IDmと呼ぶ)が割り振られているため、磁気カードやバー コードがついている会員証などと同様な使い方ができます。そのためには、ID を読み込む必要がありますが、敷居が低い方法から高い方法まで色々あるよう です。
方法 OS RWの数 RWの型番 難易度 ufelica Linux(BSD) 複数台可 RC-S310 簡単 libpasori Linux(Windows) 複数台可 RC-S320 大変(Linux上だと?) 2ch Widows 1台 RC-S320 とても簡単
BSDまたはLinuxで動くように作られたプログラムです。古い型番(RC-S310)のRW に対応しています。コンパイルして簡単に動かすことができます。
ただし、IDmの表示が間違っていて、先頭に余分な「00」がついてい るようです。取得する範囲を修正することで正しく表示可能です。
USB機器を探していくので、コードを適切に修正することで、複数台のRWを接続 して読むことができます(確認済み)。
Windows上のcyginでコンパイルして使うソフトです。libusbなどを必要とします。 私はLinux上でのみ動作確認しました。LinuxからだとRWからの読み込みに失敗 するようです。ufelicaのコードを参考にして修正したところ動くようになりま した。
このソフトは、IDmを取り出すだけでなく、保護されていない領域をダンプする こともできます。
USB機器を探していくので、コードを適切に修正することで、複数台のRWを接続 して読むことができます(確認済み)。
libpasori on 玄箱
玄箱にlibusbをインストールし、libpasoriでIDmを取得することができま す。
libusbのコンパイルは通りませんが、数行修正すると動きました。あまり良い 修正でない(不具合が招じる可能性がある)ことは分かっているのですが、動 いているのでとりあえず良としています。
2chのFelicaのソフトを作るスレッドに、ソースコードが公開されています。こ のソースコードをコンパイルすることで、Windows上でIDmを読み込むことがで きます。
このソフトは、FelicaのRW(Pasori)に附属のDLLを使って、実現しています。そ のAPIの関係から、1台のRWしか読めません(正規の開発環境を入手すればできる のかも知れませんが、これは未調査です)。
RC-S310とRC-S320では、通信プロトコルが異なっているので、同じプログラムで 読み込むことはできません。