Merge pull request #70 from darkgeem/master

Fixed latest versions of proxmark3 not working.
This commit is contained in:
Self Not Found 2026-04-06 15:02:35 +08:00 committed by GitHub
commit b74ad1b0de
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -22,6 +22,7 @@ void PM3Process::connectPM3(const QString& path, const QStringList args)
QString result;
Util::ClientType clientType;
setRequiringOutput(true);
QRegularExpression osPattern("(os:\\s+|OS\\.+\\s+)");
// stash for reconnect
currPath = path;
@ -44,7 +45,8 @@ void PM3Process::connectPM3(const QString& path, const QStringList args)
{
waitForReadyRead(200);
result += *requiredOutput;
if(result.contains("os: "))
// if(result.contains("os: "))
if(osPattern.match(result).hasMatch())
break;
}
setRequiringOutput(false);
@ -53,12 +55,16 @@ void PM3Process::connectPM3(const QString& path, const QStringList args)
{
clientType = Util::CLIENTTYPE_OFFICIAL;
}
if(result.contains("os: ")) // make sure the PM3 is connected
// if(result.contains("os: ")) // make sure the PM3 is connected
if(osPattern.match(result).hasMatch())
{
emit changeClientType(clientType);
result = result.mid(result.indexOf("os: "));
// result = result.mid(result.indexOf("os: "));
QRegularExpressionMatch osMatch = osPattern.match(result);
result = result.mid(osMatch.capturedStart());
result = result.left(result.indexOf("\n"));
result = result.mid(4, result.indexOf(" ", 4) - 4);
// result = result.mid(4, result.indexOf(" ", 4) - 4);
result = result.mid(osMatch.capturedLength(), result.indexOf(" ", osMatch.capturedLength()) - osMatch.capturedLength());
emit PM3StatedChanged(true, result);
}
else