From 6375cd5b00510a0d969751c5ae42d3c48993d45f Mon Sep 17 00:00:00 2001 From: Nico Meister Date: Mon, 26 Oct 2026 21:22:43 +0100 Subject: [PATCH] v3.1.4: AcquireAccountTokenEx zuerst mit gespeichertem Passwort (useNullPassword=false) Co-Authored-By: Claude Opus 5.5 --- Makefile | 2 +- source/admin.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index fbeb57c..ca33f3b 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ SOURCES := source INCLUDES := source # Bei jedem Release erhöhen - das Auto-Update vergleicht diese Nummer -VERSION := 3.1.3 +VERSION := 3.1.4 APP_TITLE := MBMNET APP_DESCRIPTION := Dein eigenes 3DS-Netzwerk diff --git a/source/admin.c b/source/admin.c index cc3eff2..58c8dc7 100644 --- a/source/admin.c +++ b/source/admin.c @@ -37,9 +37,14 @@ static Result login(u8 slot) Handle done; Result rc = svcCreateEvent(&done, RESET_ONESHOT); if (R_FAILED(rc)) return rc; - rc = ACTA_AcquireAccountTokenEx(slot, &noPassword, true, done); // true = gespeichertes Passwort benutzen - if (R_SUCCEEDED(rc)) rc = svcWaitSynchronization(done, 15ULL * 1000 * 1000 * 1000); - if (rc == 0) rc = ACT_GetLastResponseResult(); + // Erst mit dem gespeicherten Passwort (useNullPassword = false, leeres Feld), dann die andere Variante. + // Mit true schickte act ein leeres Passwort (Server: "falsches Passwort"). + for (int variant = 0; variant < 2; variant++) { + rc = ACTA_AcquireAccountTokenEx(slot, &noPassword, variant == 1, done); + if (R_SUCCEEDED(rc)) rc = svcWaitSynchronization(done, 15ULL * 1000 * 1000 * 1000); + if (rc == 0) rc = ACT_GetLastResponseResult(); + if (R_SUCCEEDED(rc)) break; + } svcCloseHandle(done); return rc; }