MX 1 год назад
Родитель
Сommit
6301755050
2 измененных файлов с 4 добавлено и 5 удалено
  1. 0 1
      protocol/picopass_listener.c
  2. 4 4
      protocol/picopass_poller.c

+ 0 - 1
protocol/picopass_listener.c

@@ -752,7 +752,6 @@ void picopass_listener_start(
     instance->context = context;
     instance->context = context;
 
 
     picopass_listener_reset(instance);
     picopass_listener_reset(instance);
-    nfc_iso15693_force_1outof4(instance->nfc);
     nfc_start(instance->nfc, picopass_listener_start_callback, instance);
     nfc_start(instance->nfc, picopass_listener_start_callback, instance);
 }
 }
 
 

+ 4 - 4
protocol/picopass_poller.c

@@ -539,14 +539,14 @@ NfcCommand picopass_poller_write_key_handler(PicopassPoller* instance) {
         const uint8_t* new_key = instance->event_data.req_write_key.key;
         const uint8_t* new_key = instance->event_data.req_write_key.key;
         bool is_elite_key = instance->event_data.req_write_key.is_elite_key;
         bool is_elite_key = instance->event_data.req_write_key.is_elite_key;
 
 
-        const uint8_t* csn = picopass_data->card_data[PICOPASS_CSN_BLOCK_INDEX].data;
-        const uint8_t* config_block = picopass_data->card_data[PICOPASS_CONFIG_BLOCK_INDEX].data;
-        uint8_t fuses = config_block[7];
-        const uint8_t* old_key = picopass_data->card_data[PICOPASS_SECURE_KD_BLOCK_INDEX].data;
+        const uint8_t* csn = instance->serial_num.data;
+        const uint8_t* old_key = instance->div_key;
 
 
         PicopassBlock new_block = {};
         PicopassBlock new_block = {};
         loclass_iclass_calc_div_key(csn, new_key, new_block.data, is_elite_key);
         loclass_iclass_calc_div_key(csn, new_key, new_block.data, is_elite_key);
 
 
+        const uint8_t* config_block = picopass_data->card_data[PICOPASS_CONFIG_BLOCK_INDEX].data;
+        uint8_t fuses = config_block[7];
         if((fuses & 0x80) == 0x80) {
         if((fuses & 0x80) == 0x80) {
             FURI_LOG_D(TAG, "Plain write for personalized mode key change");
             FURI_LOG_D(TAG, "Plain write for personalized mode key change");
         } else {
         } else {