commit aea5922e0ebf4843934941e1320953d74b97964b
parent c29d142f9180f91c2dbde73b517b15eff4720aeb
Author: rhunk <101876869+rhunk@users.noreply.github.com>
Date:   Fri,  3 Oct 2025 23:43:10 +0200

fix(core): spotlight not loading

Signed-off-by: rhunk <101876869+rhunk@users.noreply.github.com>

Diffstat:
Mcore/src/main/kotlin/me/rhunk/snapenhance/core/SecurityFeatures.kt | 14++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/core/SecurityFeatures.kt b/core/src/main/kotlin/me/rhunk/snapenhance/core/SecurityFeatures.kt @@ -101,7 +101,7 @@ class SecurityFeatures( context.event.subscribe(UnaryCallEvent::class) { event -> val callOptions = event.adapter.arg<Any>(2).let { it.javaClass.getMethod("build").invoke(it) } ?: return@subscribe - if (callOptions.getObjectField("mAttestation") != null) { + if (callOptions.getObjectField("mAttestation") != null || event.uri.endsWith("/IncomingFriendSync")) { context.log.verbose("blocked ep ${event.adapter.arg<Any>(0)}", "UnaryCallEvent") event.canceled = true val eventHandler = event.adapter.arg<Any>(3) @@ -137,6 +137,14 @@ class SecurityFeatures( exitProcess(139) } } + loadClass("com.snapchat.client.duplex.DuplexClient\$CppProxy").hook("registerHandler", + HookStage.BEFORE) { param -> + val path = param.arg<String>(0) + if (path == "hermod_dup") { + param.setResult(null) + return@hook + } + } } context.mappings.useMapper(CallbackMapper::class) { @@ -190,7 +198,9 @@ class SecurityFeatures( modifier = Modifier.fillMaxSize() ) { Column( - modifier = Modifier.align(Alignment.Center).padding(16.dp), + modifier = Modifier + .align(Alignment.Center) + .padding(16.dp), horizontalAlignment = Alignment.CenterHorizontally, ) { Icon(Icons.Rounded.NotInterested, contentDescription = null, tint = MaterialTheme.colorScheme.onSurface, modifier = Modifier.size(110.dp))