Radicade Public Code

This commit is contained in:
JogmansonReal
2026-10-16 23:33:13 -07:00
commit 55175acdf6
832 changed files with 363261 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
# Quest August 31 standalone port
Source: C:/RecRoom/RecRoom-Quest-20230831 (unmodified).
Working files and APK: artifacts/quest-20230831.
Separate package: com.radicade.questaugust, version 2368643.
Original IL2CPP SHA256: 656e5f0e2d83859d4f0c768db601367d5a9d69f6f7902221bd3b90b1b62703cb.
Unity SHA256 matches September's guarded scoped TLS patch exactly.
Metadata header: literal table offset field 0x74, size 0x24, data offset 0xa0, size 0x3c. Eight server literals redirected. The initial candidate data field 0x98 failed validation and was not patched; 0xa0 was verified using the version literal and bounds.
Device runtime inspector produced quest-method-map.tsv and quest-recnet-fields.tsv.
August native changes, guarded by original IL2CPP hash:
- Oculus GetAuthParams 0x3945b40 -> PlatformManager 0x36ad1f4.
- CurrentPlatform 0x394490c -> Standalone 0x4415134.
- Title error 0x3871f38 and cached-login error 0x3877758 -> GoToLogin 0x386ce14. Class method ordering matched September; cached-login error literals independently confirmed.
- Preserve Oculus initialization through SetVRDisplayMode at 0x3945124; redirect at 0x3945128 to Standalone.Initialize 0x4415188 with original frame restoration.
- Input dispatch table 0xbf18740: slot 7 from 0x3f13fc0 to Oculus slot 1, 0x3f13fd0.
compat.c ports September's narrowly scoped image request key-ID hint, exact-placeholder image acceptance, fresh HTTP connection experiment, and path/status/quit logging. August RVAs: chunk reader 0x8f926cc; current URI 0x8f8b598; absolute path 0x9dc711c; quit 0x3899f70; send 0x715e560; image verifier 0x668b438. All four hook prologues matched exact expected bytes. Image verifier identified from its signature-error literal and call after Base64 parsing. TLS verification remains enabled; placeholder acceptance is image compatibility, not cryptographic image authentication.
Signed RadicadeQuest20230831.apk passed apksigner verification after 16 KiB zip alignment. OBB packing passed CRC and entry-list checks; headset SHA256 matches PC: 241328edeecbfeb53321b5fee62edb9284ba4b7880abcc69e5848204d5545a47 (1,415,411,861 bytes).
September app remains separate. August login/gameplay validation pending.
User subsequently confirmed August login and gameplay work. Remember-password request: original independent-login guard rejected cached/refresh grants and suppressed platform account discovery, so the checkbox could not resume login.
Server update a998b5f pushed to origin/2023: remembered Standalone requests require a signed, unexpired HS256 session header bound to client recroom, platform 7, device namespace, account, token version and password-hash fingerprint. Invalid sessions fall back to password; bare IDs and synthetic legacy refresh GUIDs remain insufficient. Successful Standalone auth returns the session in X-Radicade-Quest-Session. Thirteen focused tests passed, including expired/forged/wrong-device/wrong-account/wrong-platform/revoked/password-changed rejection. Existing cached-account enumeration remains hidden.
RadicadeQuest20230831-Remember.apk signed/verified and installed in place. remember.c includes remember.h: private mode-0600 session file (no password stored), checkbox state from ManuallyLogin's require-password field, scoped HTTPS token request header, response Receive hook saving only successful server-issued session header, rejection/logout cleanup. Hooks start after five seconds to precede startup cached login. Exact prologues guarded. Logout trampoline explicitly relocates its fourth ADRP instruction to the verified page 0x10010000. No credential values logged. Server deployment and login/restart/logout testing pending; September APK has not received remembered-login changes.
2026-10-07 restart verification: installed APK SHA256 matches Remember.apk (02a3c9061d494c0686c028238fb982c2219285b396f66391afa2703ecd801159). All three remembered-login hooks reported active. Private session file existed with mode 0600; contents were not printed. Force-stop/relaunch of com.radicade.questaugust produced session-attached diagnostic, HTTP 200 from /auth/connect/token, renewed-session saved, HTTP 200 from /accounts/account/me and /matchmaking/player/login, then room requests. No manual-login event occurred in this startup capture. Automatic session resume verified for this restart; logout/rejection UI behavior and September port remain untested.