diff --git a/seader_credential.c b/seader_credential.c index a4536e3..ba80352 100644 --- a/seader_credential.c +++ b/seader_credential.c @@ -76,7 +76,9 @@ static bool seader_credential_load(SeaderCredential* cred, FuriString* path, boo // The order is reversed for storage and for the user opening the file uint64_t swapped = __builtin_bswap64(cred->credential); cred->credential = swapped; - + // Optional SIO/Diversifier + flipper_format_read_hex(file, "SIO", cred->sio, sizeof(cred->sio)); + flipper_format_read_hex(file, "Diversifier", cred->diversifier, sizeof(cred->diversifier)); parsed = true; } while(false); @@ -127,6 +129,12 @@ bool seader_credential_save_agnostic(SeaderCredential* cred, const char* name) { if(!flipper_format_write_hex( file, "Credential", (uint8_t*)&swapped, sizeof(cred->credential))) break; + if(cred->sio[0] == 0x30) { + if(!flipper_format_write_hex(file, "SIO", cred->sio, sizeof(cred->sio))) break; + if(!flipper_format_write_hex( + file, "Diversifier", cred->diversifier, sizeof(cred->diversifier))) + break; + } saved = true; } while(false);