Proxmark3GUI/ui/mainwindow.h

144 lines
3.1 KiB
C
Raw Normal View History

2020-04-06 23:48:08 +08:00
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QThread>
2020-04-06 23:48:08 +08:00
#include <QProcess>
#include <QDebug>
2020-04-07 18:16:00 +08:00
#include <QMessageBox>
2020-04-08 18:18:53 +08:00
#include <QListWidgetItem>
#include <QButtonGroup>
#include <QRadioButton>
2020-04-26 21:15:08 +08:00
#include <QFileDialog>
2020-04-29 14:47:40 +08:00
#include <QFontDialog>
#include <QtSerialPort/QSerialPortInfo>
#include <QtSerialPort/QSerialPort>
2020-04-22 16:42:58 +08:00
#include "common/pm3process.h"
#include "module/mifare.h"
#include "common/util.h"
2020-04-06 23:48:08 +08:00
QT_BEGIN_NAMESPACE
2020-04-22 23:13:00 +08:00
namespace Ui {
class MainWindow;
}
2020-04-06 23:48:08 +08:00
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
2020-04-25 18:15:00 +08:00
void initUI();
2020-04-07 18:16:00 +08:00
public slots:
2020-04-22 21:14:33 +08:00
void refreshOutput(const QString &output);
void refreshCMD(const QString &cmd);
2020-04-22 23:13:00 +08:00
void setStatusBar(QLabel* target, const QString & text);
void onPM3StateChanged(bool st, QString info);
void MF_onTypeChanged(int id, bool st);
2020-04-06 23:48:08 +08:00
private slots:
void on_PM3_connectButton_clicked();
2020-04-06 23:48:08 +08:00
void on_Raw_sendCMDButton_clicked();
2020-04-06 23:48:08 +08:00
void on_PM3_disconnectButton_clicked();
void on_Raw_clearOutputButton_clicked();
2020-04-07 18:16:00 +08:00
void sendMSG();
void on_PM3_refreshPortButton_clicked();
void on_Raw_CMDHistoryBox_stateChanged(int arg1);
void on_Raw_clearHistoryButton_clicked();
void on_Raw_CMDHistoryWidget_itemDoubleClicked(QListWidgetItem *item);
2020-04-07 23:57:56 +08:00
void on_MF_Attack_chkButton_clicked();
2020-04-08 18:18:53 +08:00
void on_MF_Attack_nestedButton_clicked();
2020-04-08 18:18:53 +08:00
void on_MF_Attack_hardnestedButton_clicked();
2020-04-08 18:18:53 +08:00
void on_MF_Sniff_sniffButton_clicked();
void on_MF_Sniff_listButton_clicked();
2020-04-16 00:39:10 +08:00
void on_MF_RW_readAllButton_clicked();
2020-04-16 01:03:53 +08:00
void on_MF_RW_readBlockButton_clicked();
void on_MF_RW_writeBlockButton_clicked();
void on_MF_Attack_infoButton_clicked();
void on_MF_RW_writeAllButton_clicked();
void on_MF_RW_dumpButton_clicked();
void on_MF_RW_restoreButton_clicked();
void on_MF_UID_readAllButton_clicked();
void on_MF_UID_readBlockButton_clicked();
void on_MF_UID_writeAllButton_clicked();
void on_MF_UID_writeBlockButton_clicked();
2020-04-26 21:15:08 +08:00
void on_MF_File_loadButton_clicked();
void on_MF_File_saveButton_clicked();
2020-04-26 21:50:55 +08:00
void on_MF_data2KeyBotton_clicked();
void on_MF_key2DataBotton_clicked();
2020-04-28 19:54:05 +08:00
void on_MF_dataWidget_itemChanged(QTableWidgetItem *item);
void on_MF_File_clearButton_clicked();
void on_MF_keyWidget_itemChanged(QTableWidgetItem *item);
2020-04-29 14:47:40 +08:00
void on_MF_fontButton_clicked();
void on_MF_UID_wipeButton_clicked();
void on_MF_UID_aboutUIDButton_clicked();
void on_MF_UID_setParaButton_clicked();
void on_MF_UID_lockButton_clicked();
2020-04-06 23:48:08 +08:00
private:
2020-04-26 21:15:08 +08:00
Ui::MainWindow* ui;
QButtonGroup* typeBtnGroup;
QLabel* connectStatusBar;
QLabel* programStatusBar;
QLabel* PM3VersionBar;
2020-04-26 21:15:08 +08:00
void uiInit();
2020-04-06 23:48:08 +08:00
PM3Process* pm3;
bool pm3state;
QThread* pm3Thread;
2020-04-07 23:57:56 +08:00
Mifare* mifare;
2020-04-22 16:42:58 +08:00
Util* util;
void signalInit();
void MF_widgetReset();
void setTableItem(QTableWidget *widget, int row, int column, const QString &text);
signals:
void connectPM3(const QString path, const QString port);
void killPM3();
void setSerialListener(const QString &name, bool state);
2020-04-06 23:48:08 +08:00
};
#endif // MAINWINDOW_H