Keine Beschreibung

Eric Betts 67442f98c8 Correct length when sending hardcoded ADF response vor 8 Monaten
.catalog bcaa7d2ced custom zero key adf vor 8 Monaten
.github 1b7cc79438 Initial import vor 10 Monaten
boards 1b7cc79438 Initial import vor 10 Monaten
files 1b7cc79438 Initial import vor 10 Monaten
headers f55b2dfdb5 move headers I copied from firmware into a directory vor 9 Monaten
images 1b7cc79438 Initial import vor 10 Monaten
scenes b50834c853 Major refactor: create seos_credential module vor 8 Monaten
.clang-format 1b7cc79438 Initial import vor 10 Monaten
.gitattributes 1b7cc79438 Initial import vor 10 Monaten
.gitignore 1b7cc79438 Initial import vor 10 Monaten
CHANGELOG.md 67ed9cc3f8 update changelog vor 8 Monaten
LICENSE b8f4f1ac78 LICENSE vor 10 Monaten
README.md bcaa7d2ced custom zero key adf vor 8 Monaten
aes_cmac.c 1b7cc79438 Initial import vor 10 Monaten
aes_cmac.h 1b7cc79438 Initial import vor 10 Monaten
application.fam 1b7cc79438 Initial import vor 10 Monaten
demo.mkv 8099ec3c92 add demo vor 10 Monaten
demo.mp4 8099ec3c92 add demo vor 10 Monaten
des_cmac.c 1b7cc79438 Initial import vor 10 Monaten
des_cmac.h 1b7cc79438 Initial import vor 10 Monaten
example.seos 962f586779 Copy priv/auth keys to credential on success vor 8 Monaten
keys-example.txt e0c9f02c2d typo vor 8 Monaten
keys.c d7cf6489c0 Correct keys array length vor 8 Monaten
keys.h 1b7cc79438 Initial import vor 10 Monaten
memmem.c 1b7cc79438 Initial import vor 10 Monaten
secure_messaging.c 1b7cc79438 Initial import vor 10 Monaten
secure_messaging.h 1b7cc79438 Initial import vor 10 Monaten
seos.c b50834c853 Major refactor: create seos_credential module vor 8 Monaten
seos.h b50834c853 Major refactor: create seos_credential module vor 8 Monaten
seos.png cd007c7678 fix png using convert seos.png -colorspace gray -channel rgb -threshold 50% +channel new-seos.png vor 9 Monaten
seos_att.c 1b7cc79438 Initial import vor 10 Monaten
seos_att.h 1b7cc79438 Initial import vor 10 Monaten
seos_att_i.h 1b7cc79438 Initial import vor 10 Monaten
seos_central.c 15261b8fa4 Consolidate ADF OID matching vor 8 Monaten
seos_central.h b50834c853 Major refactor: create seos_credential module vor 8 Monaten
seos_central_i.h 1b7cc79438 Initial import vor 10 Monaten
seos_characteristic.c 15261b8fa4 Consolidate ADF OID matching vor 8 Monaten
seos_characteristic.h b50834c853 Major refactor: create seos_credential module vor 8 Monaten
seos_characteristic_i.h 1b7cc79438 Initial import vor 10 Monaten
seos_common.c b50834c853 Major refactor: create seos_credential module vor 8 Monaten
seos_common.h b50834c853 Major refactor: create seos_credential module vor 8 Monaten
seos_credential.c 15261b8fa4 Consolidate ADF OID matching vor 8 Monaten
seos_credential.h 15261b8fa4 Consolidate ADF OID matching vor 8 Monaten
seos_credential_i.h b50834c853 Major refactor: create seos_credential module vor 8 Monaten
seos_emulator.c 67442f98c8 Correct length when sending hardcoded ADF response vor 8 Monaten
seos_emulator.h 15261b8fa4 Consolidate ADF OID matching vor 8 Monaten
seos_emulator_i.h 1b7cc79438 Initial import vor 10 Monaten
seos_hci.c 5721bb2633 more senmantic le read buffer command vor 10 Monaten
seos_hci.h 6c3bd85ed6 Only haptic once for up to 5 readers vor 10 Monaten
seos_hci_h5.c 6852132c8c Move h5 thread free to _free vor 9 Monaten
seos_hci_h5.h 1b7cc79438 Initial import vor 10 Monaten
seos_hci_h5_i.h 1b7cc79438 Initial import vor 10 Monaten
seos_hci_i.h 1b7cc79438 Initial import vor 10 Monaten
seos_i.h b50834c853 Major refactor: create seos_credential module vor 8 Monaten
seos_l2cap.c 1b7cc79438 Initial import vor 10 Monaten
seos_l2cap.h 1b7cc79438 Initial import vor 10 Monaten
seos_l2cap_i.h 1b7cc79438 Initial import vor 10 Monaten
seos_native_peripheral.c 15261b8fa4 Consolidate ADF OID matching vor 8 Monaten
seos_native_peripheral.h 2944c272ea Emulate credential over native peripheral vor 9 Monaten
seos_native_peripheral_i.h 9870538b04 Starting SeosNativePeripheral vor 9 Monaten
seos_profile.c 7084f1aafb Revert "Reduce mfg data because I made the furi_check too tight in the firmware" vor 9 Monaten
seos_profile.h bffa200f07 Working on peripheral-as-credential vor 9 Monaten
seos_reader.c 12ed9be9ba logging vor 8 Monaten
seos_reader.h 1b7cc79438 Initial import vor 10 Monaten
seos_reader_i.h 1b7cc79438 Initial import vor 10 Monaten
seos_service.c f55b2dfdb5 move headers I copied from firmware into a directory vor 9 Monaten
seos_service.h bffa200f07 Working on peripheral-as-credential vor 9 Monaten
seos_service_uuid.inc bffa200f07 Working on peripheral-as-credential vor 9 Monaten
uart.c 1b7cc79438 Initial import vor 10 Monaten
uart.h 1b7cc79438 Initial import vor 10 Monaten
uart_i.h 1b7cc79438 Initial import vor 10 Monaten

README.md

Flipper Seos

Flipper app for reading and emulating Seos-compatible cards/fobs/mobile credentials.

Demo Video

Keys

The app uses all 00 keys by default. It uses an ADF OID of 030107090000000000 ("0.3.1.7.9.0.0.0.0.0"). If you'd like to use your own keys/ADF OID, use the format of the keys-example.txt to specify them, and place into SD Card/apps_data/seos/keys.txt

Note

This software incorporates a third-party implementation of Seos®️ technology. It is not developed, authorized, licensed, or endorsed by HID Global, ASSA ABLOY, or any of their affiliates. References to Seos®️ are solely for descriptive and compatibility purposes.

No guarantee of compatibility or functionality is made. This implementation may not work with all Seos®️ -enabled systems, and its performance, security, and reliability are not assured. Users assume all risks associated with its use.

Seos®️ , HID Global, and ASSA ABLOY are trademarks or registered trademarks of their respective owners. This software is not associated with or sponsored by them in any way.

To do:

  • Fix iso14443a-4 framing
  • ASN.1 for serializing/deserializing
  • Support for larger message wrapping/unwrapping
  • When parsing incoming data, use buffer + len instead of BitBuffer so I can increment buffer pointer as I parse header(s)
  • CMAC checking where I missed it

Hardware for BLE support (experimental)

  1. Install/setup nordic SDK
  2. Install Toolchain manager
  3. Launch Toolchain manager
  4. Next to SDK version click down arroy and "open terminal"
  5. navigate to samples/bluetooth/hci_uart_3wire

nRF52840

  1. Edit boards/nrf52840dk_nrf52840.overlay and change current-speed to 460800 to match Flipper app.

  2. west build -b nrf52840dk_nrf52840 -p auto

  3. west flash

nRF52840 dongle

  1. Copy boards/nrf52840dongle_nrf52840.overlay to hci_uart_3wire
  2. Might need to: nrfutil install nrf5sdk-tools
  3. west build -b nrf52840dongle_nrf52840 -p auto
  4. nrfutil nrf5sdk-tools pkg generate --hw-version 52 --sd-req=0x00 --application ./build/hci_uart_3wire/zephyr/zephyr.hex --application-version 1 app.zip
  5. Put dongle into DFU by pressing 'reset' button
  6. nrfutil nrf5sdk-tools dfu usb-serial -pkg app.zip -p /dev/cu.usbmodemD39BF26162261

Connection

flipper purpose pin color nRF52840 dk pin nRF52840 dongle pin
rx 16 yellow P0.06 P0.20
tx 15 orange P0.08 P0.24
gnd 11 black any ground GND
power 5v red VIN 3-5v VBUS