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

LFRFID Securakey: Add Support for RKKTH Plain Text Format #3728

Merged
merged 34 commits into from
Jun 30, 2024

Conversation

zinongli
Copy link
Contributor

@zinongli zinongli commented Jun 21, 2024

What's new

  • As the title says, now the same code supports one more format of Securakey's RadioKey: RKKTH. The previous support was only for RKKT.
  • This format is not found in PM3’s repo but can be decoded from raw readings of RKKTH fobs.
  • This new format’s encoded data is shorter than RKKT (the format that’s already supported). So the decoder buffer size doesn’t change. But encoding will differ in bit length according to the exact format (RKKT: 96bit, RKKTH: 64bit).
  • Since this format of RKKTH doesn’t include facility number, decoded data will have all zeros in its facility code section (byte 0 and 1), which will be the condition the encoder will examine before deciding which format to encode in.
  • There isn’t any change in the existing support for RKKT fobs. Existing files are readable, emulatable, and writable. This update ensures backward compatibility.
  • Some side note:
    • This issue was raised only 8 hours after the initial introduction of the protocol’s support. The exposure led to the discovery of this new undocumented format. PM3 has been supporting RKKT for 6+years and this never happened. This discovery in reverse engineering relies on the popularity of Flipper Zero and the amazing community. It’s a wonderful thing to happen.
    • This improvement would not be possible without the support from @EricRibeiro. The debug process had been difficult and required tons of back and forth between edits and testing. Eric owns the key fobs and reader, I don’t. So thank him for flashing and testing 10+ versions and being so helpful and responsive the entire time.
  • Why call it plaintext? Because any of the four formats stated on their website are Wiegand variations. But the readings from Eric's fob and LF-RFID Support for RadioKey/Securakey #2619's OP's raw reading both contains nothing in regards to parity bits. It's just plaintext laying in there.

Verification

  • I believe @skotopes have received raw readings from Eric previously. Reading function can be tested with rfid raw_analyze in CLI. Otherwise, a genuine RKKTH fob and reader are required for testing. Eric has access to two fobs and one reader. I was told reading, emulation, and writing all works for both fobs. He has suggested me requesting him to be the reviewer but I haven't figured out how. Any help is appreciated.
  • @hi-im-vika I believe your fobs is also transmitting in RKKTH format based our conversation on discord. Would you mind sharing the results here if you managed to test it on your end?

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

@zinongli zinongli changed the title LFRFID Securakey: Add Support for RKKTH Key’s Plain Text Format LFRFID Securakey: Add Support for RKKTH Plain Text Format Jun 21, 2024
Copy link

@EricRibeiro EricRibeiro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've tested reading, writing, and emulation with an RKKTH tag, and everything is working perfectly. Thanks for the excellent work! 🎉

@hi-im-vika
Copy link

@zinongli I can confirm that this works perfectly for me, for scanning and emulating. Thank you for your hard work!!

@skotopes skotopes merged commit d36396f into flipperdevices:dev Jun 30, 2024
11 checks passed
@skotopes
Copy link
Member

@zinongli thank you for your hard work. Really awesome to see new protocols implemented by community

@zinongli zinongli deleted the SecurakeyUpdate branch July 1, 2024 05:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants