Fixed latest versions of proxmark3 not working.

This commit is contained in:
Darkgeem 2025-12-11 01:16:35 +01:00
parent e2fb18970e
commit 784e627c0f
No known key found for this signature in database
GPG Key ID: AEAFF7C7503136C4

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