mirror of
https://github.com/wh201906/Proxmark3GUI.git
synced 2026-07-14 22:55:32 +08:00
Fix a small bug
This commit is contained in:
+42
-12
@@ -833,21 +833,51 @@ void Mifare::data_syncWithKeyWidget(bool syncAll, int sector, KeyType keyType)
|
||||
ui->MF_keyWidget->blockSignals(false);
|
||||
}
|
||||
|
||||
void Mifare::data_clearData()
|
||||
void Mifare::data_clearData(bool clearAll)
|
||||
{
|
||||
dataList->clear();
|
||||
for(int i = 0; i < cardType.block_size; i++)
|
||||
dataList->append("");
|
||||
if(clearAll)
|
||||
{
|
||||
dataList->clear();
|
||||
}
|
||||
|
||||
int delta = cardType.block_size - dataList->length() ;
|
||||
if(delta >= 0)
|
||||
{
|
||||
for(int i = 0; i < delta; i++)
|
||||
dataList->append("");
|
||||
}
|
||||
else if(delta < 0)
|
||||
{
|
||||
for(int i = 0; i < -delta; i++)
|
||||
|
||||
dataList->removeLast();
|
||||
}
|
||||
}
|
||||
|
||||
void Mifare::data_clearKey()
|
||||
void Mifare::data_clearKey(bool clearAll)
|
||||
{
|
||||
keyAList->clear();
|
||||
keyBList->clear();
|
||||
for(int i = 0; i < cardType.sector_size; i++)
|
||||
if(clearAll)
|
||||
{
|
||||
keyAList->append("");
|
||||
keyBList->append("");
|
||||
keyAList->clear();
|
||||
keyBList->clear();
|
||||
}
|
||||
|
||||
int delta = cardType.sector_size - keyAList->length() ;
|
||||
if(delta >= 0)
|
||||
{
|
||||
for(int i = 0; i < delta; i++)
|
||||
{
|
||||
keyAList->append("");
|
||||
keyBList->append("");
|
||||
}
|
||||
}
|
||||
else if(delta < 0)
|
||||
{
|
||||
for(int i = 0; i < -delta; i++)
|
||||
{
|
||||
keyAList->removeLast();
|
||||
keyBList->removeLast();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -912,8 +942,8 @@ void Mifare::setCardType(int type)
|
||||
cardType = card_2k;
|
||||
else if(type == 4)
|
||||
cardType = card_4k;
|
||||
data_clearKey();
|
||||
data_clearData();
|
||||
data_clearKey(false);
|
||||
data_clearData(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+7
-7
@@ -46,11 +46,11 @@ public:
|
||||
|
||||
struct CardType
|
||||
{
|
||||
int type;
|
||||
int sector_size;
|
||||
int block_size;
|
||||
int blk[40];
|
||||
int blks[40];
|
||||
quint8 type;
|
||||
quint8 sector_size;
|
||||
quint16 block_size;
|
||||
quint8 blk[40];
|
||||
quint8 blks[40];
|
||||
};
|
||||
|
||||
enum AccessType
|
||||
@@ -70,8 +70,8 @@ public:
|
||||
static const AccessType trailerReadCondition[8][3];
|
||||
static const AccessType trailerWriteCondition[8][3];
|
||||
|
||||
void data_clearData();
|
||||
void data_clearKey();
|
||||
void data_clearData(bool clearAll = true);
|
||||
void data_clearKey(bool clearAll = true);
|
||||
static bool data_isKeyValid(const QString& key);
|
||||
static Mifare::DataType data_isDataValid(const QString& data);
|
||||
void data_syncWithDataWidget(bool syncAll = true, int block = 0);
|
||||
|
||||
Reference in New Issue
Block a user