RfidResearchGroup / ChameleonUltra

The new generation chameleon based on NRF52840 makes the performance of card emulation more stable. And gave the chameleon the ability to read, write, and decrypt cards.
https://chameleonultra.com
GNU General Public License v3.0
838 stars 144 forks source link

Proper 14443-4a support #151

Closed augustozanellato closed 11 months ago

augustozanellato commented 11 months ago

Automatically send RATS to 14443-4a tags Add ATS copy to long press quick clone Fix long press quick clone supporting only 4b uid

github-actions[bot] commented 11 months ago

You are welcome to add an entry to the CHANGELOG.md as well

github-actions[bot] commented 11 months ago

Built artifacts for commit 68d465d867945b88cc420f728223f8ff6f3f66f3

Firmware

Client

doegox commented 11 months ago

:grimacing: sorry. If you're not in a hurry we can merge it manually after the massive PR, so this can have its own commit. Good news is that there will be a new common format for tag info for HF14A_SCAN, MF1_GET_ANTI_COLL_DATA, MF1_SET_ANTI_COLL_DATA and ATS is already foreseen in it. cf https://github.com/RfidResearchGroup/ChameleonUltra/blob/wip_protocol_refresh/docs/protocol.md#2000-hf14a_scan

augustozanellato commented 11 months ago

My fault, should have checked the open PRs before opening one :)

If you're not in a hurry we can merge it manually after the massive PR

Definitely not in a hurry, feel free to take your time with the protocol refactoring. In the meantime I drafted this PR.

doegox commented 11 months ago

I pushed your changes as https://github.com/RfidResearchGroup/ChameleonUltra/pull/147/commits/09eb0d19f450fba9c9f05aac6fdf3ed23c5b14e6 on the other PR. Changes:

augustozanellato commented 11 months ago

I pushed your changes as 09eb0d1 on the other PR. Ok, I’ll close this one then.

Changes:

  • on 7-byte UID, RATS was sent before cascade lvl2

Not sure if there were issues while importing my commit onto your branch, but on the PR RATS was correctly sent after cascade, see here, RATS is sent outside the cascade loop.

  • don't return errors on ATS, just log them, as we still want to get some info about the tag. The client can do the sanity checks.

Good idea, I’d document that clients are expected to validate ATS.

doegox commented 11 months ago

Not sure if there were issues while importing my commit onto your branch, but on the PR RATS was correctly sent after cascade

ha yes, sorry, I copy/pasted too early above "}"