#ifndef MIFARE_H #define MIFARE_H #include "common/util.h" #include "ui_mainwindow.h" #include "ui/mf_attack_hardnesteddialog.h" #include #include #include #include class Mifare : public QObject { Q_OBJECT public: explicit Mifare(Ui::MainWindow *ui, Util *addr, QObject *parent = nullptr); void info(); void chk(); void nested(); void hardnested(); void sniff(); void list(); void read(); void readAll(); void write(); void writeAll(); void dump(); void restore(); enum DataType { DATA_INVALID, DATA_WITHSPACE, DATA_NOSPACE, }; void data_clearData(); void data_clearKey(); bool data_isKeyValid(const QString &key); Mifare::DataType data_isDataValid(QString data); void data_syncWithDataWidget(bool syncAll = true, int block = 0); void data_syncWithKeyWidget(bool syncAll = true, int sector = 0, bool isKeyA = true); public slots: signals: private: Ui::MainWindow *ui; Util* util; QStringList* keyAList; QStringList* keyBList; QStringList* dataList; QRegExp* dataPattern; int sectors = 16; int blocks = 64; }; #endif // MIFARE_H