Some slight changes

Add HighDPI support(not tested)
Support Mifare darkside attack
Hide unfinished function tabs
pull/14/head
wh201906 4 years ago
parent 77d8049738
commit a56a503b23

@ -8,6 +8,7 @@
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication a(argc, argv); QApplication a(argc, argv);
MainWindow w; MainWindow w;
QSettings* settings = new QSettings("GUIsettings.ini", QSettings::IniFormat); QSettings* settings = new QSettings("GUIsettings.ini", QSettings::IniFormat);

@ -252,6 +252,21 @@ void Mifare::hardnested()
ui->funcTab->setCurrentIndex(1); ui->funcTab->setCurrentIndex(1);
} }
void Mifare::darkside()
{
if(util->getClientType() == Util::CLIENTTYPE_OFFICIAL)
{
util->execCMD("hf mf mifare");
ui->funcTab->setCurrentIndex(1);
}
else if(util->getClientType() == Util::CLIENTTYPE_ICEMAN)
{
util->execCMD("hf mf darkside");
ui->funcTab->setCurrentIndex(1);
}
}
void Mifare::sniff() void Mifare::sniff()
{ {
util->execCMD("hf mf sniff"); util->execCMD("hf mf sniff");

@ -66,6 +66,7 @@ public:
QString info(bool isRequiringOutput = false); QString info(bool isRequiringOutput = false);
void chk(); void chk();
void nested(); void nested();
void darkside();
void hardnested(); void hardnested();
void sniff(); void sniff();
void snoop(); void snoop();

@ -0,0 +1,25 @@
# Some Test Log
***
# Version:0.1.3
## Mifare
### Card Info
+ Official, Mifare card: Passed
+ Iceman, Mifare card: Passed
+ Official, no card: Passed
+ Iceman, no card: Passed
### Check default Password
+ Official, all FFFFFFFFFFFF: Passed
+ Iceman, all FFFFFFFFFFFF: Passed
+ Official, no card: Passed
+ Iceman, no card: Stuck to searching card, then failed to communicate with PM3
+ Official, all unknown: Passed
+ Iceman, all unknown: Passed
+ Official, partially unknown: Passed
+ Iceman, partially unknown: Passed
### Darkside Attack
+ Official: Passed
+ Iceman: Passed

@ -7,6 +7,7 @@ MainWindow::MainWindow(QWidget *parent):
{ {
ui->setupUi(this); ui->setupUi(this);
myInfo = new QAction("wh201906", this); myInfo = new QAction("wh201906", this);
currVersion = new QAction("Ver: " + QApplication::applicationVersion().section('.', 0, -2), this); // ignore the 4th version number
checkUpdate = new QAction(tr("Check Update"), this); checkUpdate = new QAction(tr("Check Update"), this);
connect(myInfo, &QAction::triggered, [ = ]() connect(myInfo, &QAction::triggered, [ = ]()
{ {
@ -17,6 +18,7 @@ MainWindow::MainWindow(QWidget *parent):
QDesktopServices::openUrl(QUrl("https://github.com/wh201906/Proxmark3GUI/releases")); QDesktopServices::openUrl(QUrl("https://github.com/wh201906/Proxmark3GUI/releases"));
}); });
this->addAction(myInfo); this->addAction(myInfo);
this->addAction(currVersion);
this->addAction(checkUpdate); this->addAction(checkUpdate);
settings = new QSettings("GUIsettings.ini", QSettings::IniFormat); settings = new QSettings("GUIsettings.ini", QSettings::IniFormat);
@ -30,6 +32,11 @@ MainWindow::MainWindow(QWidget *parent):
mifare = new Mifare(ui, util, this); mifare = new Mifare(ui, util, this);
keyEventFilter = new MyEventFilter(QEvent::KeyRelease); keyEventFilter = new MyEventFilter(QEvent::KeyRelease);
// hide unused tabs
ui->funcTab->removeTab(1);
ui->funcTab->removeTab(1);
} }
MainWindow::~MainWindow() MainWindow::~MainWindow()
@ -127,6 +134,11 @@ void MainWindow::on_stopButton_clicked()
// ******************** raw command ******************** // ******************** raw command ********************
void MainWindow::on_Raw_CMDEdit_textChanged(const QString &arg1)
{
stashedCMDEditText = arg1;
}
void MainWindow::on_Raw_sendCMDButton_clicked() void MainWindow::on_Raw_sendCMDButton_clicked()
{ {
util->execCMD(ui->Raw_CMDEdit->text()); util->execCMD(ui->Raw_CMDEdit->text());
@ -1039,7 +1051,11 @@ void MainWindow::saveClientPath(const QString& path)
} }
// *********************************************** // ***********************************************
void MainWindow::on_Raw_CMDEdit_textChanged(const QString &arg1)
void MainWindow::on_MF_Attack_darksideButton_clicked()
{ {
stashedCMDEditText = arg1; setState(false);
mifare->darkside();
setState(true);
} }

@ -154,6 +154,8 @@ private slots:
void on_stopButton_clicked(); void on_stopButton_clicked();
void on_Raw_CMDEdit_textChanged(const QString &arg1); void on_Raw_CMDEdit_textChanged(const QString &arg1);
void on_MF_Attack_darksideButton_clicked();
private: private:
Ui::MainWindow* ui; Ui::MainWindow* ui;
QButtonGroup* typeBtnGroup; QButtonGroup* typeBtnGroup;
@ -162,6 +164,7 @@ private:
QLabel* PM3VersionBar; QLabel* PM3VersionBar;
QPushButton* stopButton; QPushButton* stopButton;
QAction* myInfo; QAction* myInfo;
QAction* currVersion;
QAction* checkUpdate; QAction* checkUpdate;
QSettings* settings; QSettings* settings;
MyEventFilter* keyEventFilter; MyEventFilter* keyEventFilter;

@ -120,7 +120,7 @@
</sizepolicy> </sizepolicy>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>1</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="mifareTab"> <widget class="QWidget" name="mifareTab">
<attribute name="title"> <attribute name="title">
@ -568,6 +568,19 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QPushButton" name="MF_Attack_darksideButton">
<property name="minimumSize">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Darkside</string>
</property>
</widget>
</item>
<item> <item>
<spacer name="horizontalSpacer_2"> <spacer name="horizontalSpacer_2">
<property name="orientation"> <property name="orientation">
@ -1169,6 +1182,9 @@
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="lfTab"> <widget class="QWidget" name="lfTab">
<property name="enabled">
<bool>true</bool>
</property>
<attribute name="title"> <attribute name="title">
<string>LF/Data</string> <string>LF/Data</string>
</attribute> </attribute>

Loading…
Cancel
Save