2013-02-04 178 views
3

我有不同的標籤:閱讀NFCA MifareClassic NFC標籤

我想讀出我的密鑰。 UID是20 66 be 52,在ATQA是00 40的SAK是00 08(ATQA和SAK是一樣的,從亞馬遜的關鍵,所以我想這也是MIFARE經典1KB)

每當我試着transceive(byte[])我趕上TagLostException 。滑稽的事實:廣告標籤效果更好,但仍然拋出IOException: Transceive failed

試圖標籤(我的鑰匙)解析到IsoDepMifareClassic拋出一個Nullpointer。只有NfcA有效,但我無法從標籤讀取任何數據。

有人可以提供我的有效命令或任何其他方式來讀取Android的內容。

MifareClassic mfc = MifareClassic.get(tagFromIntent); 
mfc.connect(); //Nullpointer 

編輯:。好像這個問題可能是我的Nexus 4(主要是買給NFC東西:()好像不支持MIFARE經典標籤,但如果仍然有想法寫下來

回答

3

好了,現在是明確的:的Nexus 4不支持MIFARE經典(如MIFARE超輕作品)

可以讀取UID,ATQA和SAK但不能寫也不會從塊讀/部門。

很遺憾,像Nexus 4這樣的高端/旗艦設備(也包括Nexus 10)無法讀取最流行的標籤。

+1

沒錯。它不支持它並不是因爲它不符合NFC論壇,而是因爲它使用了Broadcom和Google不想許可的專有加密算法(Crypto 1)。在使用恩智浦NFC控制器(Nexus S,Galaxy Nexus等)的設備上,您可以免費獲得該設備,因爲硬件支持它。通常,您需要檢查結果'SomeNfcTech.get()'爲null,因爲並不是所有的都被支持。 –

+1

此外,Crypto 1算法已完全破解,對於新項目使用Classic沒有任何藉口。 –

+1

我不會支付完全損壞的crypo的許可費用。 Mifare Classic消失對於NFC技術來說是件好事。 –