flipperzero-firmware icon indicating copy to clipboard operation
flipperzero-firmware copied to clipboard

[FL-3638] EMV card detection

Open Astrrra opened this issue 10 months ago • 3 comments

What's new

  • New card type: EMV
  • When reading an EMV card, the data shown is equivalent to the regular ISO14443-4A data, but with "EMV Card" added to the header
  • This PR does not add support for emulation or reading EMV-specific data

Verification

  • Read an EMV card, check that the additional header is displayed in info and that all the other ISO14443-4A data is correct.
  • Verify that saving and loading the card file works as expected
  • Verify that reading non-emv cards isn't affected

Checklist (For Reviewer)

  • [ ] PR has description of feature/bug or link to Confluence/Jira task
  • [ ] Description contains actions to verify feature/bugfix
  • [ ] I've built this code, uploaded it to the device and verified feature/bugfix

Astrrra avatar Mar 04 '25 09:03 Astrrra

Compiled f7 firmware for commit 78e5698b:

github-actions[bot] avatar Mar 04 '25 09:03 github-actions[bot]

bt
#0  0x080160fc in __furi_crash_implementation () at furi/core/check.c:172
#1  0x0804ec78 in emv_poller_detect (event=..., context=<optimized out>) at lib/nfc/protocols/emv/emv_poller.c:137
#2  0x0804c6a0 in nfc_poller_detect_tail_callback (event=..., context=0x2000cf10) at lib/nfc/nfc_poller.c:217
#3  0x0805093e in iso14443_4a_poller_handler_ready (instance=<optimized out>) at lib/nfc/protocols/iso14443_4a/iso14443_4a_poller.c:80
#4  0x080509ac in iso14443_4a_poller_run (event=..., context=<optimized out>) at lib/nfc/protocols/iso14443_4a/iso14443_4a_poller.c:116
#5  0x0804d012 in iso14443_3a_poller_run (event=..., context=0x2000cf80) at lib/nfc/protocols/iso14443_3a/iso14443_3a_poller.c:91
#6  0x0804c66c in nfc_poller_detect_head_callback (event=..., context=<optimized out>) at lib/nfc/nfc_poller.c:242
#7  0x0804b40a in nfc_worker_poller_ready_handler (instance=0x2000ba08) at lib/nfc/nfc.c:182
#8  0x0804b4be in nfc_worker_poller (context=0x2000ba08) at lib/nfc/nfc.c:232
#9  0x0801a67c in furi_thread_body (context=<optimized out>) at furi/core/thread.c:117
#10 0x08019f4e in furi_thread_catch () at furi/core/thread.c:89

hedger avatar Apr 06 '25 22:04 hedger

@RebornedBrain check this out

hedger avatar Apr 06 '25 22:04 hedger