Browse Source

nfc_magic: Fix support of 4K fobs (#102)

Co-authored-by: あく <alleteam@gmail.com>
Edouard Vincent 2 years ago
parent
commit
635fefb923
3 changed files with 7 additions and 3 deletions
  1. 4 0
      .catalog/changelog.md
  2. 1 1
      application.fam
  3. 2 2
      lib/magic/protocols/gen4/gen4_poller.c

+ 4 - 0
.catalog/changelog.md

@@ -1,3 +1,7 @@
+## 1.4 
+
+ - Fix incorrect max sector configuration
+
 ## 1.4 
 
  - Auth with password option moved into new submenu "Gen4 actions"

+ 1 - 1
application.fam

@@ -10,7 +10,7 @@ App(
     ],
     stack_size=4 * 1024,
     fap_description="Application for writing to NFC tags with modifiable sector 0",
-    fap_version="1.4",
+    fap_version="1.5",
     fap_icon="assets/125_10px.png",
     fap_category="NFC",
     fap_private_libs=[

+ 2 - 2
lib/magic/protocols/gen4/gen4_poller.c

@@ -274,7 +274,7 @@ static NfcCommand gen4_poller_write_mf_classic(Gen4Poller* instance) {
             instance->config[25] = iso3_data->atqa[1];
             instance->config[26] = iso3_data->sak;
             instance->config[27] = 0x00;
-            instance->config[28] = instance->total_blocks;
+            instance->config[28] = instance->total_blocks - 1;
             instance->config[29] = 0x01;
 
             Gen4PollerError error = gen4_poller_set_config(
@@ -353,7 +353,7 @@ static NfcCommand gen4_poller_write_mf_ultralight(Gen4Poller* instance) {
             instance->config[25] = iso3_data->atqa[1];
             instance->config[26] = iso3_data->sak;
             instance->config[27] = 0x00;
-            instance->config[28] = instance->total_blocks;
+            instance->config[28] = instance->total_blocks - 1;
             instance->config[29] = 0x01;
 
             Gen4PollerError error = gen4_poller_set_config(