Middle+
Wat is uw mening over code-obfuscatie en welke codebeschermingsmethoden vindt u het meest effectief?
sobes.tech AI
Antwoord van AI
Positief. Obfuscatie verhoogt de complexiteit van reverse engineering, waardoor het moeilijker wordt voor aanvallers om de code te analyseren.
De meest effectieve beschermingsmethoden:
- Obfuscatie: Verwarring van de logica van de code, hernoemen van klassen, methoden en velden. Hulpmiddelen zoals R8/ProGuard.
- Encryptie: Versleutelen van gevoelige gegevens en kritieke delen van de code.
- Integriteit van de code: Controleer de integriteit van de code tijdens uitvoering om wijzigingen te detecteren.
- Verbergen van sleutels en geheimen: Bewaar gevoelige gegevens op een veilige plek, bijvoorbeeld met Android Keystore.
- Bescherming tegen debugger: Detecteer en weerstaan pogingen om JDWP-debuggers aan te sluiten.
- Detectie van root/jailbreak: Schakel functionaliteit uit of sluit de app af bij detectie van een compromitterend apparaat.
Een holistische aanpak die meerdere methoden combineert, biedt de beste bescherming.
Voorbeeld van basis obfuscatie met R8:
# Houd alle klassen die Extenden van Activity
-keep public class * extends android.app.Activity
# Voorkom dat optimalisatie annotaties verwijdert.
-keepattributes *Annotation*
# Houd alle methoden en velden in klassen die door deze methode worden geretourneerd.
-keepclassmembers class foo.bar.Baz {
<fields>;
<methods>;
}
# Verwijder expliciet het R.java-bestand.
-dontwarn **R$*
-dontnote **R$*
-dontoptimize **R$*