mirror of
https://github.com/wh201906/Proxmark3GUI.git
synced 2026-06-30 15:24:27 +08:00
Compare commits
3 Commits
e2fb18970e
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
| 695f963991 | |||
| 38c7916715 | |||
| 687c27672f |
@@ -53,21 +53,23 @@ You can also download them in SourceForge
|
||||
[](https://sourceforge.net/projects/proxmark3gui/files/latest/download)
|
||||
|
||||
## Build on Linux
|
||||
```
|
||||
```bash
|
||||
cd ~
|
||||
# sudo add-apt-repository universe
|
||||
sudo apt-get update
|
||||
sudo apt-get install git build-essential
|
||||
sudo apt-get install qt5-default libqt5serialport5-dev
|
||||
# sudo apt-get install git build-essential
|
||||
sudo apt-get install qtbase5-dev qt5-qmake libqt5serialport5-dev
|
||||
git clone https://github.com/wh201906/Proxmark3GUI.git --depth=1
|
||||
cd Proxmark3GUI
|
||||
mkdir build && cd build
|
||||
export QT_SELECT=qt5
|
||||
qmake ../src
|
||||
make -j4 && make clean
|
||||
./Proxmark3GUI
|
||||
```
|
||||
|
||||
## Build on macOS
|
||||
```
|
||||
```zsh
|
||||
cd ~
|
||||
brew update
|
||||
brew install qt@5
|
||||
|
||||
@@ -53,21 +53,23 @@ SourceForge平台上也可下载
|
||||
[](https://sourceforge.net/projects/proxmark3gui/files/latest/download)
|
||||
|
||||
## 在Linux系统下编译
|
||||
```
|
||||
```bash
|
||||
cd ~
|
||||
# sudo add-apt-repository universe
|
||||
sudo apt-get update
|
||||
sudo apt-get install git build-essential
|
||||
sudo apt-get install qt5-default libqt5serialport5-dev
|
||||
# sudo apt-get install git build-essential
|
||||
sudo apt-get install qtbase5-dev qt5-qmake libqt5serialport5-dev
|
||||
git clone https://github.com/wh201906/Proxmark3GUI.git --depth=1
|
||||
cd Proxmark3GUI
|
||||
mkdir build && cd build
|
||||
export QT_SELECT=qt5
|
||||
qmake ../src
|
||||
make -j4 && make clean
|
||||
./Proxmark3GUI
|
||||
```
|
||||
|
||||
## 在macOS系统下编译
|
||||
```
|
||||
```zsh
|
||||
cd ~
|
||||
brew update
|
||||
brew install qt@5
|
||||
|
||||
@@ -35,19 +35,19 @@ void PM3Process::connectPM3(const QString& path, const QStringList args)
|
||||
waitForReadyRead(10000);
|
||||
setRequiringOutput(false);
|
||||
result = *requiredOutput;
|
||||
// Workaround for wayland system, e.g. Ubuntu 22.04
|
||||
// The issue is that the warning is read and nothing else, hence the process is killed.
|
||||
if(result.contains("Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway."))
|
||||
{
|
||||
setRequiringOutput(true);
|
||||
readWaitForConnection(&result);
|
||||
}
|
||||
if(result.contains("[=]"))
|
||||
{
|
||||
clientType = Util::CLIENTTYPE_ICEMAN;
|
||||
setRequiringOutput(true);
|
||||
write("hw version\n");
|
||||
for(int i = 0; i < 50; i++)
|
||||
{
|
||||
waitForReadyRead(200);
|
||||
result += *requiredOutput;
|
||||
if(result.contains("os: "))
|
||||
break;
|
||||
}
|
||||
setRequiringOutput(false);
|
||||
readWaitForConnection(&result);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -72,6 +72,18 @@ void PM3Process::connectPM3(const QString& path, const QStringList args)
|
||||
setRequiringOutput(false);
|
||||
}
|
||||
|
||||
void PM3Process::readWaitForConnection(QString *result)
|
||||
{
|
||||
for(int i = 0; i < 50; i++)
|
||||
{
|
||||
waitForReadyRead(200);
|
||||
(*result) += *requiredOutput;
|
||||
if(result->contains("os: "))
|
||||
break;
|
||||
}
|
||||
setRequiringOutput(false);
|
||||
}
|
||||
|
||||
void PM3Process::reconnectPM3()
|
||||
{
|
||||
connectPM3(currPath, currArgs);
|
||||
|
||||
@@ -38,6 +38,7 @@ private:
|
||||
bool isRequiringOutput;
|
||||
QString* requiredOutput; // It only works in this class now
|
||||
void setRequiringOutput(bool st);// It only works in this class now
|
||||
void readWaitForConnection(QString *result);
|
||||
QTimer* serialListener;
|
||||
QSerialPortInfo* portInfo;
|
||||
QString currPath;
|
||||
|
||||
Reference in New Issue
Block a user