Update mifare nested

This commit is contained in:
MX
2023-07-11 03:46:12 +03:00
parent 5a6c168b68
commit e7439272e6
5 changed files with 12 additions and 5 deletions

View File

@@ -21,5 +21,5 @@ App(
fap_author="AloneLiberty",
fap_description="Recover Mifare Classic keys",
fap_weburl="https://github.com/AloneLiberty/FlipperNested",
fap_version="1.5.1"
fap_version="1.5.2"
)

View File

@@ -21,7 +21,7 @@
#include <gui/modules/variable_item_list.h>
#include "mifare_nested_icons.h"
#define NESTED_VERSION_APP "1.5.1"
#define NESTED_VERSION_APP "1.5.2"
#define NESTED_GITHUB_LINK "https://github.com/AloneLiberty/FlipperNested"
#define NESTED_RECOVER_KEYS_GITHUB_LINK "https://github.com/AloneLiberty/FlipperNestedRecovery"
#define NESTED_NONCE_FORMAT_VERSION "3"

View File

@@ -578,6 +578,7 @@ bool mifare_nested_worker_check_initial_keys(
info->block = mifare_nested_worker_get_block_by_sector(sector);
info->collected = false;
info->skipped = true;
info->from_start = false;
nonces->nonces[sector][key_type][tries] = info;
}
@@ -595,6 +596,7 @@ bool mifare_nested_worker_check_initial_keys(
Nonces* info = nonces->nonces[sector][0][tries];
info->collected = true;
info->skipped = true;
info->from_start = true;
nonces->nonces[sector][0][tries] = info;
}
@@ -616,6 +618,7 @@ bool mifare_nested_worker_check_initial_keys(
Nonces* info = nonces->nonces[sector][1][tries];
info->collected = true;
info->skipped = true;
info->from_start = true;
nonces->nonces[sector][1][tries] = info;
}

View File

@@ -66,6 +66,7 @@ typedef struct {
uint32_t target_ks[2];
uint8_t parity[2][4];
bool skipped;
bool from_start;
bool invalid;
bool collected;
bool hardnested;

View File

@@ -18,12 +18,15 @@ bool mifare_nested_collecting_worker_callback(MifareNestedWorkerEvent event, voi
mifare_nested_blink_nonce_collection_start(mifare_nested);
uint8_t collected = 0;
uint8_t skip = 0;
NonceList_t* nonces = mifare_nested->nonces;
for(uint8_t tries = 0; tries < nonces->tries; tries++) {
for(uint8_t sector = 0; sector < nonces->sector_count; sector++) {
for(uint8_t keyType = 0; keyType < 2; keyType++) {
Nonces* info = nonces->nonces[sector][keyType][tries];
if(info->collected) {
if(info->from_start) {
skip++;
} else if(info->collected) {
collected++;
}
}
@@ -37,7 +40,7 @@ bool mifare_nested_collecting_worker_callback(MifareNestedWorkerEvent event, voi
model->calibrating = false;
model->lost_tag = false;
model->nonces_collected = collected;
model->keys_count = nonces->sector_count * nonces->tries * 2;
model->keys_count = (nonces->sector_count * nonces->tries * 2) - skip;
},
true);
} else if(event == MifareNestedWorkerEventNoTagDetected) {
@@ -155,4 +158,4 @@ void mifare_nested_scene_collecting_on_exit(void* context) {
mifare_nested_blink_stop(mifare_nested);
popup_reset(mifare_nested->popup);
widget_reset(mifare_nested->widget);
}
}