Просмотр исходного кода

Merge seader from https://github.com/bettse/seader

Willy-JL 8 месяцев назад
Родитель
Сommit
6b88b1d05c

+ 0 - 0
seader/.flipcorg/banner.png → seader/.catalog/banner.png


+ 0 - 0
seader/changelog.md → seader/.catalog/changelog.md


BIN
seader/.catalog/screenshots/menu.png


+ 0 - 0
seader/.flipcorg/gallery/pacs.png → seader/.catalog/screenshots/pacs.png


+ 0 - 0
seader/.flipcorg/gallery/save_menu.png → seader/.catalog/screenshots/save_menu.png


BIN
seader/.flipcorg/gallery/menu.png


+ 1 - 0
seader/.gitignore

@@ -2,3 +2,4 @@
 dist/
 examples/*
 logs
+credential/

+ 5 - 5
seader/sam_api.c

@@ -216,8 +216,8 @@ static int seader_print_struct_callback(const void* buffer, size_t size, void* a
 void seader_send_payload(
     Seader* seader,
     Payload_t* payload,
-    uint8_t to,
     uint8_t from,
+    uint8_t to,
     uint8_t replyTo) {
     uint8_t rBuffer[SEADER_UART_RX_BUF_SIZE] = {0};
 
@@ -240,8 +240,8 @@ void seader_send_payload(
 #endif
     //0xa0, 0xda, 0x02, 0x63, 0x00, 0x00, 0x0a,
     //0x44, 0x0a, 0x44, 0x00, 0x00, 0x00, 0xa0, 0x02, 0x96, 0x00
-    rBuffer[0] = to;
-    rBuffer[1] = from;
+    rBuffer[0] = from;
+    rBuffer[1] = to;
     rBuffer[2] = replyTo;
 
     seader_send_apdu(seader, 0xA0, 0xDA, 0x02, 0x63, rBuffer, 6 + er.encoded);
@@ -250,8 +250,8 @@ void seader_send_payload(
 void seader_send_response(
     Seader* seader,
     Response_t* response,
-    uint8_t to,
     uint8_t from,
+    uint8_t to,
     uint8_t replyTo) {
     Payload_t* payload = 0;
     payload = calloc(1, sizeof *payload);
@@ -260,7 +260,7 @@ void seader_send_response(
     payload->present = Payload_PR_response;
     payload->choice.response = *response;
 
-    seader_send_payload(seader, payload, to, from, replyTo);
+    seader_send_payload(seader, payload, from, to, replyTo);
 
     ASN_STRUCT_FREE(asn_DEF_Payload, payload);
 }

+ 2 - 0
seader/seader_credential.c

@@ -75,6 +75,8 @@ static bool seader_credential_load(SeaderCredential* cred, FuriString* path, boo
         // Optional SIO/Diversifier
         cred->sio_len = sizeof(cred->sio); // No way to know real length;
         cred->diversifier_len = sizeof(cred->diversifier); // No way to know real length;
+        memset(cred->sio, 0, sizeof(cred->sio));
+        memset(cred->diversifier, 0, sizeof(cred->diversifier));
         flipper_format_read_hex(file, "SIO", cred->sio, cred->sio_len);
         flipper_format_read_hex(file, "Diversifier", cred->diversifier, cred->diversifier_len);