No Description

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

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