herzhenr / spic-android

A Simple Play Integrity Checker which uses Google Play Integrity API to check the Integrity of the Device
MIT License
170 stars 20 forks source link

Crashes on SafetyNet page #11

Open privacyguy123 opened 3 months ago

privacyguy123 commented 3 months ago

Any idea what could cause this? I am messing with phone internals ATM, the cause of this bug might help.

Wojtaz0w commented 2 months ago

I got it to crash too. https://paste.crdroid.net/N4lwqs

time: 1715498117726
msg: java.lang.NullPointerException: attest.integrityType() must not be null
stacktrace: java.lang.NullPointerException: attest.integrityType() must not be null
    at com.henrikherzig.playintegritychecker.ui.ResultContentKt.SafetyNetResult(ResultContent.kt:339)
    at com.henrikherzig.playintegritychecker.ui.ResultContentKt.ResultContent(ResultContent.kt:48)
    at com.henrikherzig.playintegritychecker.ui.safetynet.SafetyNetPageKt$SafetyNet$1$1$2$1$1.invoke(SafetyNetPage.kt:81)
    at com.henrikherzig.playintegritychecker.ui.safetynet.SafetyNetPageKt$SafetyNet$1$1$2$1$1.invoke(SafetyNetPage.kt:80)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
    at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:145)
    at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2367)
    at androidx.compose.runtime.ComposerImpl.skipToGroupEnd(Composer.kt:2657)
    at com.henrikherzig.playintegritychecker.ui.CustomCardComponentsKt.CustomCard(CustomCardComponents.kt:42)
    at com.henrikherzig.playintegritychecker.ui.safetynet.SafetyNetPageKt$SafetyNet$1$1$2.invoke(SafetyNetPage.kt:80)
    at com.henrikherzig.playintegritychecker.ui.safetynet.SafetyNetPageKt$SafetyNet$1$1$2.invoke(SafetyNetPage.kt:75)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
    at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:127)
    at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:127)
    at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:145)
    at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2367)
    at androidx.compose.runtime.ComposerImpl.skipToGroupEnd(Composer.kt:2657)
    at androidx.compose.animation.AnimatedVisibilityKt.AnimatedVisibility(AnimatedVisibility.kt:277)
    at com.henrikherzig.playintegritychecker.ui.safetynet.SafetyNetPageKt.SafetyNet(SafetyNetPage.kt:75)
    at com.henrikherzig.playintegritychecker.ui.safetynet.SafetyNetPageKt$SafetyNet$2.invoke(Unknown Source:21)
    at com.henrikherzig.playintegritychecker.ui.safetynet.SafetyNetPageKt$SafetyNet$2.invoke(Unknown Source:8)
    at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:145)
    at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2367)
    at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:2634)
    at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3250)
    at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3228)
    at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:336)
    at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:1)
    at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3228)
    at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3193)
    at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:753)
    at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:1008)
    at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:125)
    at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:533)
    at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:502)
    at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:34)
    at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
    at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
    at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1341)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1352)
    at android.view.Choreographer.doCallbacks(Choreographer.java:952)
    at android.view.Choreographer.doFrame(Choreographer.java:878)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1326)
    at android.os.Handler.handleCallback(Handler.java:958)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:205)
    at android.os.Looper.loop(Looper.java:294)
    at android.app.ActivityThread.main(ActivityThread.java:8244)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
    Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@df68cbd, androidx.compose.ui.platform.MotionDurationScaleImpl@809b2b2, StandaloneCoroutine{Cancelling}@83f8203, AndroidUiDispatcher@df97580]