Submit Search
Upload
AndroidでFeliCaの履歴を読もう
•
18 likes
•
23,997 views
treby
Follow
20121209 Fukuoka NFC Hack 6
Read less
Read more
Technology
Report
Share
Report
Share
1 of 23
Download now
Download to read offline
Recommended
What the hell is NFT?
What the hell is NFT?
Chinmay Patel
Đề tài: Tìm hiểu về nhận dạng vân tay và khả năng ứng dụng, HOT
Đề tài: Tìm hiểu về nhận dạng vân tay và khả năng ứng dụng, HOT
Dịch vụ viết bài trọn gói ZALO: 0909232620
Nft marketplace development to buy & sell nft tokens coinjoker
Nft marketplace development to buy & sell nft tokens coinjoker
amarasophi
What is an nft the informative guide for beginners in 2022
What is an nft the informative guide for beginners in 2022
Moon Technolabs Pvt. Ltd.
Bitcoin, Ethereum, Smart Contract & Blockchain
Bitcoin, Ethereum, Smart Contract & Blockchain
Jitendra Chittoda
An introduction to block chain technology
An introduction to block chain technology
yaminisindhurabandar
Block chain technology
Block chain technology
Ponthota Viswanath Reddy
Non-Fungible Token (NFT) Marketplace Development Service Provider
Non-Fungible Token (NFT) Marketplace Development Service Provider
Linda John
Recommended
What the hell is NFT?
What the hell is NFT?
Chinmay Patel
Đề tài: Tìm hiểu về nhận dạng vân tay và khả năng ứng dụng, HOT
Đề tài: Tìm hiểu về nhận dạng vân tay và khả năng ứng dụng, HOT
Dịch vụ viết bài trọn gói ZALO: 0909232620
Nft marketplace development to buy & sell nft tokens coinjoker
Nft marketplace development to buy & sell nft tokens coinjoker
amarasophi
What is an nft the informative guide for beginners in 2022
What is an nft the informative guide for beginners in 2022
Moon Technolabs Pvt. Ltd.
Bitcoin, Ethereum, Smart Contract & Blockchain
Bitcoin, Ethereum, Smart Contract & Blockchain
Jitendra Chittoda
An introduction to block chain technology
An introduction to block chain technology
yaminisindhurabandar
Block chain technology
Block chain technology
Ponthota Viswanath Reddy
Non-Fungible Token (NFT) Marketplace Development Service Provider
Non-Fungible Token (NFT) Marketplace Development Service Provider
Linda John
NFT Marketplace Development - Coinjoker
NFT Marketplace Development - Coinjoker
amarasophi
How To Mint An NFT?
How To Mint An NFT?
101 Blockchains
NFT Marketplace: Your Complete Guide For 2022
NFT Marketplace: Your Complete Guide For 2022
ForceBolt
NFT Marketplace Development
NFT Marketplace Development
zaarahary
Báo Cáo Đồ Án Tìm Hiểu Công Nghệ NFC
Báo Cáo Đồ Án Tìm Hiểu Công Nghệ NFC
nataliej4
Huongdanthuchanh lcd
Huongdanthuchanh lcd
Con Khủng Long
Nft for beginners the perfect basic guide to learn everything about non fungi...
Nft for beginners the perfect basic guide to learn everything about non fungi...
Paul Bossky
[Workshop] Getting Started with Cryptos, NFTs & Web 3.0 for Absolute Beginners
[Workshop] Getting Started with Cryptos, NFTs & Web 3.0 for Absolute Beginners
Hessan Adnani
How NFT Works
How NFT Works
101 Blockchains
What is NFT? | A Complete Use-Cases of Non-Fungible Token (NFT)
What is NFT? | A Complete Use-Cases of Non-Fungible Token (NFT)
Linda John
What is NFT (Non-fungible token) & How do they work?
What is NFT (Non-fungible token) & How do they work?
Finlaw Consultancy Pvt Ltd
Solid State Drives - Seminar for Computer Engineering Semester 6 - VIT,Univer...
Solid State Drives - Seminar for Computer Engineering Semester 6 - VIT,Univer...
ravipbhat
Non-fungible tokens (NFTs)
Non-fungible tokens (NFTs)
Andres Guadamuz
Money pad ppt
Money pad ppt
kondalarao7
The Potential of Blockchain Technology
The Potential of Blockchain Technology
Pioneers.io
What is NFT Marketplace? PPT
What is NFT Marketplace? PPT
Rwaltz Software
How To Become A Blockchain Engineer
How To Become A Blockchain Engineer
101 Blockchains
Flight x vision powerpoint presentation
Flight x vision powerpoint presentation
FLIGHT DENTAL
Cryptocurrency seminar topic presentation using MSWord.
Cryptocurrency seminar topic presentation using MSWord.
Mohd Faiz
Cryptocurrency
Cryptocurrency
sanskriti2510
月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)
Hirokuma Ueno
Android NFCアプリハンズオン
Android NFCアプリハンズオン
Tomoki YAMASHITA
More Related Content
What's hot
NFT Marketplace Development - Coinjoker
NFT Marketplace Development - Coinjoker
amarasophi
How To Mint An NFT?
How To Mint An NFT?
101 Blockchains
NFT Marketplace: Your Complete Guide For 2022
NFT Marketplace: Your Complete Guide For 2022
ForceBolt
NFT Marketplace Development
NFT Marketplace Development
zaarahary
Báo Cáo Đồ Án Tìm Hiểu Công Nghệ NFC
Báo Cáo Đồ Án Tìm Hiểu Công Nghệ NFC
nataliej4
Huongdanthuchanh lcd
Huongdanthuchanh lcd
Con Khủng Long
Nft for beginners the perfect basic guide to learn everything about non fungi...
Nft for beginners the perfect basic guide to learn everything about non fungi...
Paul Bossky
[Workshop] Getting Started with Cryptos, NFTs & Web 3.0 for Absolute Beginners
[Workshop] Getting Started with Cryptos, NFTs & Web 3.0 for Absolute Beginners
Hessan Adnani
How NFT Works
How NFT Works
101 Blockchains
What is NFT? | A Complete Use-Cases of Non-Fungible Token (NFT)
What is NFT? | A Complete Use-Cases of Non-Fungible Token (NFT)
Linda John
What is NFT (Non-fungible token) & How do they work?
What is NFT (Non-fungible token) & How do they work?
Finlaw Consultancy Pvt Ltd
Solid State Drives - Seminar for Computer Engineering Semester 6 - VIT,Univer...
Solid State Drives - Seminar for Computer Engineering Semester 6 - VIT,Univer...
ravipbhat
Non-fungible tokens (NFTs)
Non-fungible tokens (NFTs)
Andres Guadamuz
Money pad ppt
Money pad ppt
kondalarao7
The Potential of Blockchain Technology
The Potential of Blockchain Technology
Pioneers.io
What is NFT Marketplace? PPT
What is NFT Marketplace? PPT
Rwaltz Software
How To Become A Blockchain Engineer
How To Become A Blockchain Engineer
101 Blockchains
Flight x vision powerpoint presentation
Flight x vision powerpoint presentation
FLIGHT DENTAL
Cryptocurrency seminar topic presentation using MSWord.
Cryptocurrency seminar topic presentation using MSWord.
Mohd Faiz
Cryptocurrency
Cryptocurrency
sanskriti2510
What's hot
(20)
NFT Marketplace Development - Coinjoker
NFT Marketplace Development - Coinjoker
How To Mint An NFT?
How To Mint An NFT?
NFT Marketplace: Your Complete Guide For 2022
NFT Marketplace: Your Complete Guide For 2022
NFT Marketplace Development
NFT Marketplace Development
Báo Cáo Đồ Án Tìm Hiểu Công Nghệ NFC
Báo Cáo Đồ Án Tìm Hiểu Công Nghệ NFC
Huongdanthuchanh lcd
Huongdanthuchanh lcd
Nft for beginners the perfect basic guide to learn everything about non fungi...
Nft for beginners the perfect basic guide to learn everything about non fungi...
[Workshop] Getting Started with Cryptos, NFTs & Web 3.0 for Absolute Beginners
[Workshop] Getting Started with Cryptos, NFTs & Web 3.0 for Absolute Beginners
How NFT Works
How NFT Works
What is NFT? | A Complete Use-Cases of Non-Fungible Token (NFT)
What is NFT? | A Complete Use-Cases of Non-Fungible Token (NFT)
What is NFT (Non-fungible token) & How do they work?
What is NFT (Non-fungible token) & How do they work?
Solid State Drives - Seminar for Computer Engineering Semester 6 - VIT,Univer...
Solid State Drives - Seminar for Computer Engineering Semester 6 - VIT,Univer...
Non-fungible tokens (NFTs)
Non-fungible tokens (NFTs)
Money pad ppt
Money pad ppt
The Potential of Blockchain Technology
The Potential of Blockchain Technology
What is NFT Marketplace? PPT
What is NFT Marketplace? PPT
How To Become A Blockchain Engineer
How To Become A Blockchain Engineer
Flight x vision powerpoint presentation
Flight x vision powerpoint presentation
Cryptocurrency seminar topic presentation using MSWord.
Cryptocurrency seminar topic presentation using MSWord.
Cryptocurrency
Cryptocurrency
Similar to AndroidでFeliCaの履歴を読もう
月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)
Hirokuma Ueno
Android NFCアプリハンズオン
Android NFCアプリハンズオン
Tomoki YAMASHITA
About nfc
About nfc
treby
Windows8 x NFC - Windows8 Developers カンファレンス Vol2.0 -
Windows8 x NFC - Windows8 Developers カンファレンス Vol2.0 -
Ikkai Takeshi
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
hdais
NFC元年 ~AndroidからみたNFCについて~
NFC元年 ~AndroidからみたNFCについて~
Kouta Imanaka
計算機理論入門08
計算機理論入門08
Tomoyuki Tarumi
ConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみた
Akira Iwamoto
ネットワークコマンド入力に対応したツール事例
ネットワークコマンド入力に対応したツール事例
fumoto kazuhiro
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
Makoto SAKAI
関西支部 第二回 NFCLab勉強会
関西支部 第二回 NFCLab勉強会
Masafumi Terazono
SDSoC でストリーム
SDSoC でストリーム
ryos36
20111028ssmjp
20111028ssmjp
Takeshi HASEGAWA
DSLによる要求獲得でスーパーアジャイル
DSLによる要求獲得でスーパーアジャイル
陽平 山口
Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)
Wataru Fukatsu
Start-padrino
Start-padrino
Uchio Kondo
NFaaS 輪読資料
NFaaS 輪読資料
Hiroki Takemura
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
Masayuki Kanou
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Dai Utsui
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
Hiroshi Oyamada
Similar to AndroidでFeliCaの履歴を読もう
(20)
月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)
Android NFCアプリハンズオン
Android NFCアプリハンズオン
About nfc
About nfc
Windows8 x NFC - Windows8 Developers カンファレンス Vol2.0 -
Windows8 x NFC - Windows8 Developers カンファレンス Vol2.0 -
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
NFC元年 ~AndroidからみたNFCについて~
NFC元年 ~AndroidからみたNFCについて~
計算機理論入門08
計算機理論入門08
ConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみた
ネットワークコマンド入力に対応したツール事例
ネットワークコマンド入力に対応したツール事例
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
関西支部 第二回 NFCLab勉強会
関西支部 第二回 NFCLab勉強会
SDSoC でストリーム
SDSoC でストリーム
20111028ssmjp
20111028ssmjp
DSLによる要求獲得でスーパーアジャイル
DSLによる要求獲得でスーパーアジャイル
Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)
Start-padrino
Start-padrino
NFaaS 輪読資料
NFaaS 輪読資料
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
More from treby
失敗から学ぶEM方法論
失敗から学ぶEM方法論
treby
Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例
treby
Frontendと向き合う
Frontendと向き合う
treby
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
treby
モダンJSでモダンなWebアプリケーションを作ろう!
モダンJSでモダンなWebアプリケーションを作ろう!
treby
Octocatは技術的負債の夢を見るか?
Octocatは技術的負債の夢を見るか?
treby
Shinjuku.rb #61 RubyKaigi2018予習
Shinjuku.rb #61 RubyKaigi2018予習
treby
The Art of Collaboration
The Art of Collaboration
treby
楽しく学ぶ?API
楽しく学ぶ?API
treby
VueとdockerとAWSとチームとアイマスと私
VueとdockerとAWSとチームとアイマスと私
treby
アイマスハッカソン2017
アイマスハッカソン2017
treby
Sinatraで触れる生SQL
Sinatraで触れる生SQL
treby
Railsフロントエンドの modernizeにおける一事例 ~decaffeinateからES2015移行まで~
Railsフロントエンドの modernizeにおける一事例 ~decaffeinateからES2015移行まで~
treby
最近のRailsフロントエンド開発の紹介
最近のRailsフロントエンド開発の紹介
treby
たたかうFFI
たたかうFFI
treby
mastodon API
mastodon API
treby
TH@NK YOU for SMILE!!とミリオンボーダーbot
TH@NK YOU for SMILE!!とミリオンボーダーbot
treby
Paperclip
Paperclip
treby
このみさんにPRしてもらう
このみさんにPRしてもらう
treby
reading suture
reading suture
treby
More from treby
(20)
失敗から学ぶEM方法論
失敗から学ぶEM方法論
Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例
Frontendと向き合う
Frontendと向き合う
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
モダンJSでモダンなWebアプリケーションを作ろう!
モダンJSでモダンなWebアプリケーションを作ろう!
Octocatは技術的負債の夢を見るか?
Octocatは技術的負債の夢を見るか?
Shinjuku.rb #61 RubyKaigi2018予習
Shinjuku.rb #61 RubyKaigi2018予習
The Art of Collaboration
The Art of Collaboration
楽しく学ぶ?API
楽しく学ぶ?API
VueとdockerとAWSとチームとアイマスと私
VueとdockerとAWSとチームとアイマスと私
アイマスハッカソン2017
アイマスハッカソン2017
Sinatraで触れる生SQL
Sinatraで触れる生SQL
Railsフロントエンドの modernizeにおける一事例 ~decaffeinateからES2015移行まで~
Railsフロントエンドの modernizeにおける一事例 ~decaffeinateからES2015移行まで~
最近のRailsフロントエンド開発の紹介
最近のRailsフロントエンド開発の紹介
たたかうFFI
たたかうFFI
mastodon API
mastodon API
TH@NK YOU for SMILE!!とミリオンボーダーbot
TH@NK YOU for SMILE!!とミリオンボーダーbot
Paperclip
Paperclip
このみさんにPRしてもらう
このみさんにPRしてもらう
reading suture
reading suture
AndroidでFeliCaの履歴を読もう
1.
Androidで
FeliCaの履歴を読もう 2012/12/09 Fukuoka NFC Hack 6 @treby006 12年12月9日日曜日
2.
本発表の対象
• Androidで開発する機会のある方 • Nexus7などNFC機能搭載Android端末をお持ちの方 • Suica/WAON/nanacoなどFeliCaを使っている方 12年12月9日日曜日
3.
本発表のゴール
• ご自身のAndroidアプリにNFC機能を実装できるよ うになりましょう。 • また、FeliCaの履歴読み取りなど厳密にNFCの規格 から外れたことの実装法を理解しましょう。 12年12月9日日曜日
4.
NFCの標準規格
• 基本的にNDEFデータによって通信 • NDEF …… NFC Data Exchange Formatの略で、 MessageとRecordといったものがあります。 • NDEF Message …… NDEF Recordを一つ以上含みます。 • NDEF Record …… MIMEタイプで定められたメディアや URIやアプリケーションで定められたペイロードを含み ます。 12年12月9日日曜日
5.
Android NFC API
• Gingerbread (2.3) / API 9から対応。 • ICS(4.0) / API 15からはP2P機能も実装することがで きます(いわゆるAndroid Beam)。今回は対象外。 • 簡単にIDを読み取ったりNFCタグを発行したり、 データを読み書きしたりできるのが特徴。 12年12月9日日曜日
6.
コード例
• NFCタグを発行するなら(注:もろもろ省略) NdefFormatable ndefFormatable; ndefFormatable = NdefFormatable.get(tag); try { ndefFormatable.open(); ndefFormatable.format(ndefMessage); } finally { ndefFormatable.close(); } • ndefFormatable.format(ndefMessage); • ndefFormatable …… NdefFormatableクラスインスタンス • ndefMessage …… 書き込むNDEF Message 12年12月9日日曜日
7.
NDEFの中身
• 例:特定のWebページのURIを含むNFCタグ(かざ すと暗黙的Intentが飛びます/ページを開きます) 12年12月9日日曜日
8.
こんな感じに書きます
NdefMessage mMessage; mMessage = new NdefMessage(new NdefRecord[] { NdefRecord.createUri(“http://www.atelier-nodoka.net/”), }); ∼中略∼ ndef.connect(); ndef.writeNdefMessage(mMessage); ndef.close(); ……ほら、簡単でしょ? 12年12月9日日曜日
9.
FeliCaとNFC
• 定義を確認 • FeliCa …… カードやチップの製品名(ブランド)。デ ータ構造含めてJIS X 6319で規格化。 • NFC …… 通信レイヤの標準規格で、データ構造は 範囲外。ただし、標準的なデータ構造としてNDEF がNFC Forumで定められている。 • つまり、NFCを使ってFeliCaを読み取るには適切にカ ードのコマンドを実装してあげる必要があります。 12年12月9日日曜日
10.
Advanced NFC
• http://developer.android.com/guide/topics/ connectivity/nfc/advanced-nfc.html • 要約:Androidでサポートしていないテクノロジの カードを読み書きしたければ生のバイト列を用いて 通信してね。 • ……とかいいながらMIFARE ClassicとMIFARE Ultralight用のクラスが用意されてるあたりなんかず るい(一応オプションですが)。 12年12月9日日曜日
11.
FeliCaの仕様を調査
• ブロック • サービス • エリア • システム 12年12月9日日曜日
12.
ブロック
• FeliCaのメモリに対する書き込み及び読み出しにお ける16バイトの単位のことです。 • R/Wから直接扱えるわけではなく、ブロックへのア クセスは後述のサービスを使用します。 12年12月9日日曜日
13.
サービス
• ファイルシステム上のブロックをグループ化したも ので、ブロックへのアクセスを提供します。 • 各サービスはサービスコードによって特定します。 12年12月9日日曜日
14.
エリア
• 不揮発性メモリ領域の使用可能な残ブロック数や サービスへのブロック数の割り当てを管理する単 位です。 • 複数のサービスを含むことができます。 • 今回はあまり意識しなくて大丈夫です。 12年12月9日日曜日
15.
システム
• 論理的なカードの単位です。 • 1枚のカードには用途に応じた複数のシステムを含 むことができます。 • リーダ/ライタがシステムを特定するためにシステ ムコードが用いられます。 12年12月9日日曜日
16.
FeliCaコマンド
• Pollingコマンド • カードを検知するためのコマンドです。 • パラメータとしてシステムコードをもちます。 • 物理的なカードとシステム(論理的なカード) を特定するIDmを取得することができます。 • Read Without Encryptionコマンド • 非暗号化領域のデータを読むことができます。 • パラメータとしてサービスコードをもちます。 12年12月9日日曜日
17.
実際のFeliCa
• 独自に規定されており、(当然)どの領域に何のデ ータが入っているかは非公開です。 • ただし、有志によって解析された情報がWeb上に あるのでこれを利用します。 • 特に履歴情報は非暗号化領域に書かれているの で扱いが容易です(だからこそ扱えます)。 12年12月9日日曜日
18.
各種情報
• Suica(など、サイバネ規格交通ICカード) • システムコード:0x0003(サイバネ領域) • サービスコード(履歴情報):0x090F 12年12月9日日曜日
19.
各種情報
• nanaco • システムコード:0xFE00(共通領域) • サービスコード(履歴情報):0x564F • WAON • システムコード:0xFE00(共通領域) • サービスコード(履歴情報):0x680B • Edy • システムコード:0xFE00(共通領域) • サービスコード(履歴情報):0x170F 12年12月9日日曜日
20.
NfcF#transceiveメソッド
• 引数:送信バイト(FeliCaのコマンドを入れます) • 戻り値:受信バイト(FeliCaのコマンドレスポンスが 返ります) • 注意:送信バイト/受信バイトにはそれぞれ先頭に コマンドバイト長が入ります。つまり、12バイトの コマンドならば先頭に0x0D(13 = 12 + 1(先頭バイ ト分))を付加しなければいけません。 12年12月9日日曜日
21.
応用ソフトウェア
• 「かお(・ν・)もじ SF CHECKER」Android版 • 実はRequest Serviceコマンドいらなかった説。 12年12月9日日曜日
22.
FeliCaへのチャージは?
• 例のごとく、FeliCaコマンドが公開されていません ので、チャージはできないです。 情報とかも分か りませんし。 • 世の中おいしい話はそうそうないということです。 諦めましょう。 12年12月9日日曜日
23.
まとめ
• AndroidのNFC機能を使ってFeliCaの履歴情報を読 み取る方法を解説しました。 • また、予備知識として以下を説明しました。 • AndroidのNFC機能 • FeliCaカードの技術仕様 • 実際にはカードへのアクセスはメインスレッドから 行わないようにしなくちゃいけません。 12年12月9日日曜日
Download now