android / android/security-samples
I face the crash in xiaomi10
- Lingua principale
- Kotlin
- Stelle
- 1k
- Fork
- 450
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
```
java.lang.RuntimeException:java.lang.reflect.InvocationTargetException
--
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)
......
com.google.crypto.tink.shaded.protobuf.InvalidProtocolBufferException:Protocol message contained an invalid tag (zero).
com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite.com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite parsePartialFrom(com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite,byte[],int,int,com.google.crypto.tink.shaded.protobuf.ExtensionRegistryLite)(GeneratedMessageLite.java:10)
com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite.com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite parseFrom(com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite,byte[],com.google.crypto.tink.shaded.protobuf.ExtensionRegistryLite)(GeneratedMessageLite.java:2)
com.google.crypto.tink.proto.Keyset.com.google.crypto.tink.proto.Keyset parseFrom(byte[],com.google.crypto.tink.shaded.protobuf.ExtensionRegistryLite)(Keyset.java:1)
8 com.google.crypto.tink.integration.android.SharedPrefKeysetReader.com.google.crypto.tink.proto.Keyset read()(SharedPrefKeysetReader.java:1)
com.google.crypto.tink.CleartextKeysetHandle.com.google.crypto.tink.KeysetHandle read(com.google.crypto.tink.KeysetReader)(CleartextKeysetHandle.java:1)
com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.com.google.crypto.tink.KeysetManager read()(AndroidKeysetManager.java:4)
com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.com.google.crypto.tink.KeysetManager readOrGenerateNewKeyset()(AndroidKeysetManager.java:1)
com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.com.google.crypto.tink.integration.android.AndroidKeysetManager build()(AndroidKeysetManager.java:3)
androidx.security.crypto.EncryptedSharedPreferences.android.content.SharedPreferences create(java.lang.String,java.lang.String,android.content.Context,androidx.security.crypto.EncryptedSharedPreferences$PrefKeyEncryptionScheme,androidx.security.crypto.EncryptedSharedPreferences$PrefValueEncryptionScheme)(EncryptedSharedPreferences.java:7)
SharedPreferencesUtils$preferences$2.android.content.SharedPreferences invoke()(SharedPreferencesUtils.kt:6)
SharedPreferencesUtils$preferences$2.java.lang.Object invoke()(SharedPreferencesUtils.kt:1)
kotlin.SynchronizedLazyImpl.java.lang.Object getValue()(LazyJVM.kt:6)
SharedPreferencesUtils.android.content.SharedPreferences getPreferences()(Unknown Source:2)
SharedPreferencesUtils.android.content.SharedPreferences access$getPreferences$p(SharedPreferencesUtils)(SharedPreferencesUtils.kt:1)
```
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia da SharedPreferencesUtils.kt e riproduci lo stack trace su uno Xiaomi 10, concentrandoti sul percorso di inizializzazione mostrato di EncryptedSharedPreferences e AndroidKeysetManager. Esamina come viene letto il keyset e determina quale stato attiva il tag protobuf non valido. Il lavoro è completato quando l’esempio non va più in crash lungo questo percorso e il comportamento delle preferences interessate è verificato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- android, kotlin
- Ambito
- mobile-dev, security
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 20/100