1
Fork 0
mirror of https://github.com/redstrate/Astra.git synced 2025-04-20 11:47:46 +00:00

Clean up encryptGameArg() function

This commit is contained in:
redstrate 2021-11-09 21:32:01 -05:00
parent 80eeb5c0ab
commit 241b4b43e1

View file

@ -87,34 +87,18 @@ uint32_t TickCount() {
QString encryptGameArg(QString arg) { QString encryptGameArg(QString arg) {
unsigned int rawTicks = TickCount(); unsigned int rawTicks = TickCount();
qDebug() << "raw tick count: " << rawTicks;
unsigned int ticks = rawTicks & 0xFFFFFFFFu; unsigned int ticks = rawTicks & 0xFFFFFFFFu;
qDebug() << "ticks: " << ticks; unsigned int key = ticks & 0xFFFF0000u;
unsigned int u = ticks & 0xFFFF0000u;
qDebug() << "key: " << u;
char buffer[9] = {}; char buffer[9] = {};
sprintf(buffer, "%08x", u); sprintf(buffer, "%08x", key);
Blowfish session(QByteArray(buffer, 8)); Blowfish session(QByteArray(buffer, 8));
QByteArray encryptedArg = session.Encrypt((QString(" /T =%1").arg(ticks) + arg).toUtf8()); QByteArray encryptedArg = session.Encrypt((QString(" /T =%1").arg(ticks) + arg).toUtf8());
QString base64 = encryptedArg.toBase64(QByteArray::Base64Option::Base64UrlEncoding | QByteArray::Base64Option::OmitTrailingEquals); QString base64 = encryptedArg.toBase64(QByteArray::Base64Option::Base64UrlEncoding | QByteArray::Base64Option::OmitTrailingEquals);
qDebug() << "base64: " << encryptedArg.toBase64(); char checksum = GetChecksum(key);
session.Decrypt(encryptedArg); return QString("//**sqex0003%1%2**//").arg(base64, QString(checksum));
qDebug() << "decryption attempt: " << encryptedArg;
char checksum = GetChecksum(u);
qDebug() << checksum;
auto a = QString("//**sqex0003%1%2**//").arg(base64, QString(checksum));
qDebug() << a;
return a;
} }
void LauncherWindow::launchGame(const LoginAuth auth) { void LauncherWindow::launchGame(const LoginAuth auth) {