Offuscamento del codice in Flutter (Android)
La storia inizia quando stavamo per pubblicare la nostra app flutter per la produzione. Ma prima, l'app è passata al processo VAPT ( Vulnerability Assessment and Penetration Testing ).
Cos'è l'offuscamento del codice?
L'offuscamento del codice è il processo che rende difficile la comprensione del codice di un programma, solitamente allo scopo di rendere più difficile il reverse engineering o la modifica. Questo può essere fatto attraverso varie tecniche, come rendere illeggibili i nomi delle variabili e delle funzioni, o aggiungendo ulteriori strati di indirizzi o complessità al codice. L'offuscamento viene spesso utilizzato per proteggere la proprietà intellettuale o per impedire manomissioni dannose di un programma. (Grazie a ChatGPT ).
Perché l'offuscamento del codice?
Se stai sviluppando un'app in cui la sicurezza dei dati dell'utente è al di sopra di tutto, non puoi comprometterla. Anche se la sicurezza infallibile è un mito. Ma possiamo massimizzarlo in una certa misura usando questi metodi:
- Shrink your code (o tree shaking) : rileva e rimuove in modo sicuro classi, campi, metodi e attributi inutilizzati dalla tua app.
3. Abilita proguard: usa le regole di proguard per definire quali file non vuoi modificare durante il processo di minimizzazione e riduzione.
Passiamo alla parte Come
Offuscamento usando il comando flutter
export version=1.0.0
flutter build apk --release --shrink --obfuscate --split-debug-info=misc/mapping/${version}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
useProguard true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Spiegazione :
- Utilizzerà le configurazioni di firma della modalità di rilascio. Dovrai creare un file .jks e un key.properties in cui puoi menzionare le tue credenziali di firma.
- Mantieni proguard-rules.pro all'interno della cartella dell'app, in modo da poter definire le tue regole al suo interno. Leggi qui come definire le regole di proguard.
- Per proteggere i file flutter durante l'offuscamento, utilizzare queste righe all'interno del file proguard-rules:
#Flutter Wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.** { *; }
-keep class io.flutter.util.** { *; }
-keep class io.flutter.view.** { *; }
-keep class io.flutter.** { *; }
-keep class io.flutter.plugins.** { *; }
-keep class org.xmlpull.v1.** { *;}
-dontwarn org.xmlpull.v1.**
Ora è il momento per un consiglio professionale
Se sei arrivato fino a qui, allora ecco un regalo per te. La tua app continua a bloccarsi dopo aver abilitato proguard?
Prova questo trucco per eseguire il debug:
Sostituisci la versione per eseguire il debug ed eseguire l'app in modalità di debug.
buildTypes {
debug {
signingConfig signingConfigs.release
minifyEnabled true
useProguard true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
È tutto per oggi. Grazie per essere rimasto fino alla fine. I suggerimenti sono i benvenuti.
Connettiamoci ora su Twitter , Instagram o LinkedIn .

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































