Added support for Electra EM410X tags#310
Open
mocanew wants to merge 1 commit intoRfidResearchGroup:mainfrom
Open
Added support for Electra EM410X tags#310mocanew wants to merge 1 commit intoRfidResearchGroup:mainfrom
mocanew wants to merge 1 commit intoRfidResearchGroup:mainfrom
Conversation
|
You are welcome to add an entry to the CHANGELOG.md as well |
Built artifacts for commit adfaff4FirmwareClient |
Foxushka
reviewed
Oct 24, 2025
| if args.id is None or not re.match(r"^[a-fA-F0-9]{10}$", args.id): | ||
| raise ArgsParserError("ID must include 10 HEX symbols") | ||
| if args.id is None or not re.match(r"^[a-fA-F0-9]{26}$", args.id): | ||
| raise ArgsParserError("ID must include 26 HEX symbols") |
Contributor
There was a problem hiding this comment.
I don't like idea that user is required to use 13 bytes everywhere, when regular 5 byte EM410X are WAY more common (and it will confuse users). Maybe better to add another tag type?
Author
There was a problem hiding this comment.
I'm not familiar enough with the codebase to create a new tag type without duplicating a significant amount of code (and I don't consider code duplication to be a solution). That said, other collaborators are welcome to use this PR as a starting point or reference.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #203
Electra tags transmit another 64bit packet (epilogue) after the standard EM410X data. This PR is loosly based on flipperzero-firmware.
During testing I discovered a tag that contained non-repeating data in the full 8 bytes epilogue, contrary to what the Flipper code comments suggests. Because of this, I chose to save the full epilogue rather than the first 2 bytes. Interestingly, even though the tag had 8 bytes of data, only the first 2 were checked by the intercom, so the flipper still managed to succesfully emulate the tag.
This PR has been successfully tested on multiple Electra intercoms (all installed after 2010). I do not have access to any other EM410X tags so I can't confirm the code is regression-free. I do not have access to blank EM410X tags so cannot verify whether Electra tags can be sucessfully written to a blank tag.
Important note: this PR changes the length of decoded data for EM410X tags to 13 bytes. However, the Android app only saves the 5 bytes of decoded data for EM410X tags. If you'd like to test this PR before it's merged you have to use the cli app from the artifacts below.