Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NFC: Add write support for the password-protected MF ultralight tag #3364

Draft
wants to merge 2 commits into
base: dev
Choose a base branch
from

Merge branch 'dev' into feat/mf-ultralight-write-with-password

7bb1c7d
Select commit
Loading
Failed to load commit list.
Draft

NFC: Add write support for the password-protected MF ultralight tag #3364

Merge branch 'dev' into feat/mf-ultralight-write-with-password
7bb1c7d
Select commit
Loading
Failed to load commit list.
Task list completed / task-list-completed Started 2024-05-31 09:45:19 ago

0 / 3 tasks completed

3 tasks still to be completed

Details

Required Tasks

Task Status
Add write capability for password-protected MF Ultralight tags. Incomplete
Fix the check condition in mf_ultralight_poller_handler_read_tearing_flags. Support for MfUltralightFeatureSupportSingleCounter doesn't imply support for reading tearing flags, as seen in NTAG21x series. Incomplete
Revised MF Ultralight poller logic from auth => read **THEN** write to auth => read **OR** write. According to NXP specifications, NTAG commands should maintain the tag in ACTIVE or AUTHENTICATED state. However, some compatible tags deviate from this spec and accept only one read/write command in the AUTHENTICATED state. This change addresses write command failures because in the previous logic it would issued after the read commands. Incomplete
More debug logs to provide users with better NFC status insights without needing to rebuild the firmware. Incomplete
Read, unlock, and save the tag first. Modified a sector and wrote it back to the NFC tag without issues. The altered sector was correctly read in subsequent actions. Incomplete
Attempted to write with an incorrect password resulted in expected write failure. Incomplete
PR has description of feature/bug or link to Confluence/Jira task Incomplete
Description contains actions to verify feature/bugfix Incomplete
I've built this code, uploaded it to the device and verified feature/bugfix Incomplete
Can we consider merging the bug fix parts first? This should include the flag correction and the read or write fix. It's not related to the password but only the logic and bug fix. Incomplete
For the write support to password-protected card part. IMO, for the NFC app, the basic scenario would be "I dumped a card and edit the nfc file, then I want to write it back to the original card". So what if we just rename the "write" to "write back to origin", validate the UID before writing, and add a new warning screen display something like "A full card write will be performed, please make sure the password is correct or it may break your card"? The write operation only happens with the full user concentration. Incomplete
Is target card password protected? Can we successfully auth to target card? Incomplete
Does target card has AUTHLIM? Incomplete
Is source card password protected? Incomplete
Does user want to write full card dump, including configuration paged and password + pack, or just user data? Incomplete