# Erhält wichtige Metadaten und Sicherheits-Attribute -keepattributes Signature, *Annotation*, EnclosingMethod # SQLCipher (Schützt die Datenbank-Bibliothek und JNI-Bindungen) -keep class net.sqlcipher.** { *; } -keepclassmembers class net.sqlcipher.** { *; } # BouncyCastle (Kryptografische Algorithmen wie Argon2 und HKDF) -keep class org.bouncycastle.** { *; } -dontwarn org.bouncycastle.** # ZXing (QR-Code Scanner und Generator komplett schützen) -keep class com.google.zxing.** { *; } -keepclassmembers class com.google.zxing.** { *; } # CameraX (Verhindert Abstürze durch Reflection im ImageAnalysis-Modul) -keep class androidx.camera.** { *; } # AndroidX Security und Google Tink (Vermeidung von Fehlern beim Keystore-Zugriff) -keep class androidx.security.crypto.** { *; } -keep class com.google.crypto.tink.** { *; } # Schutz für spezifische eigene Klassen -keep class com.example.otp_kommunikator.OtpKey { *; } # Ignoriere fehlende Cloud- und Zeit-Abhängigkeiten von Google Tink (App ist Air-Gapped) -dontwarn com.google.api.** -dontwarn com.google.crypto.tink.integration.** -dontwarn org.joda.time.** # 1. Schutz für native Krypto-Methoden (z.B. SQLCipher, Argon2) -keepclasseswithmembernames class * { native ; } # 2. Forensische Härtung: Entfernt Informationen über Dateipfade und # Zeilennummern aus den Stack-Traces im Falle eines Exceptions-Absturzes. # Dies verhindert, dass ein Angreifer Rückschlüsse auf die interne # Programmstruktur ziehen kann. -renamesourcefileattribute "" # 3. Erstellt eine Mapping-Datei für lokales Debugging # (Diese Datei darf niemals in den Quellcode-Download oder die Öffentlichkeit gelangen) -printmapping mapping.txt