2013-02-22 11 views
11

Szukam sposobu, aby wysłać sekwencję odblokowania telefonu z Androidem do tagu Mifare od chińskiego producenta, który sprawia, że ​​te z zapisywalny bloku 0.Unlock Mifare tag android

jakim byłem wypróbowanie metod connect + transceive, wysłanie sekwencji bajtów 50 00 + 40 + 43. Ale to nie zadziała.

Próbowałem już prywatnej funkcji przechwytywania (aby obejść kontrolę błędów), ale to też nie zadziała. Otrzymuję błędy z usługi nfc.

Czy ktoś był w stanie wysłać sekwencję odblokowania, aby odblokować blok0?

+4

Nie rozumiem, dlaczego to pytanie zostało zamknięte. – 4ZM

+0

Głosowałem za ponownym otwarciem, ale warto rozważyć dodanie części kodu lub dokładnych błędów, które otrzymujesz. Pomocny mógłby być również konkretny typ tagu Mifare. – Geobits

+3

Myślę, że komentarz z https://developer.android.com/reference/android/nfc/tech/NfcA.html#transceive (byte []) o "pełnych bajtach" jest tutaj istotny, ponieważ w libnfc polecenie odblokowania jest wysyłane w bitach (dokładniej 7 bitów) i nie jest to możliwe z publicznym interfejsem API systemu Android. Szukam tego samego, może istnieje możliwość ominięcia czegoś i skorzystania z wewnętrznych/prywatnych interfejsów. –

Odpowiedz

6

Nie jest to możliwe na urządzeniu z systemem Android. Zastrzeżone polecenia dla chińskiego klonu MIFARE mają długość 7 bitów, a nie pełny bajt. Implementacje NFC na urządzeniach z systemem Android (zarówno starszych z zastrzeżonym interfejsem, jak i nowszych zgodnych z NFC Forum NCI) działają na buforach ładunku pełnych bajtów.

+0

Bałem się tej odpowiedzi:/Czy jest jakaś szansa, żeby jakiś facet napisał łatkę dla Androida? wydaje mi się to dla mnie zbyt trudne ... – oleveau

+0

Dla starszych urządzeń ograniczenie dotyczy sprzętu NFC, więc żadna łatka oprogramowania tego nie naprawi. Nie jestem pewien co do sprzętu NFC zgodnego z NFC, ale spodziewam się, że sytuacja może być taka sama. –

+0

Sądzę, że sprzęt NFC, do którego się odnosisz, jest układem PN544 nxp, nie sądzę, że jest ograniczenie z samym chipem. – oleveau