Ei kuvausta

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

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