Mobius 2026 Autumn
SAINT PETERSBURG + ONLINEUNDER THE HOOD 22 October · in Russian
NFC Internals
in Android:
From APDU
to NCI and RF
I follow one failed passport read from Kotlin through APDU and NCI down to the RF link, and show how to recover safely.
Organised by JUG Ru Group
Talk page on mobiusconf.com (opens in a new tab)
Start here
Chapters
- 1–3 slides 1–3 Вступление Title, about me and the failure
- 4–6 slides 4–6 Камера / OCR Who takes part in an NFC exchange; OCR and MRZ before NFC
- 7–8 slides 7–8 MRZ The main files in our scenario
- 9–10 slides 9–10 PACE/BAC Why PACE and BAC exist
- 11–12 slides 11–12 APDU SELECT, READ BINARY and the status word
- 13–17 slides 13–17 Android Reader Mode, IsoDep, discovery, transceive()
- 18–21 slides 18–21 NCI/NFCC Control and data packets; NCI credits
- 22–24 slides 22–24 ISO-DEP/RF Three independent splits; TagLostException
- 25–29 slides 25–29 Диагностика SDK log against the NCI trace; RF A/B test
- 30–32 slides 30–32 Выводы What we know and what to do next
- 33 slide 33 Вопросы Questions










![APDU: SELECT, READ BINARY и status word. Command APDU CLA INS P1 P2 Lc data Le 00 A4 04 0C 07 A0 00 00 02 47 10 01 — SELECT 7 байт AID приложения Response APDU [data] SW1 SW2 — 90 00 успех CLA INS P1/P2 Lc Le SELECT READ BINARY class instruction параметры длина данных максимальная ожидаемая выбрать приложение или (offset, Le) byte команды команды длина response data файл прочитать блок данных](/assets/s/mobius-talk/pages/page-19-960-gM6ZHorI.avif)



















