Ofuscação de código no Flutter (Android)
A história começa quando estávamos prestes a publicar nosso aplicativo flutter para a produção. Mas antes disso, o aplicativo foi para o processo VAPT ( Vulnerability Assessment and Penetration Testing ).
O que é ofuscação de código?
Ofuscação de código é o processo de tornar o código de um programa difícil de entender, geralmente com o objetivo de dificultar a engenharia reversa ou a modificação. Isso pode ser feito por meio de várias técnicas, como tornar nomes de variáveis e funções ilegíveis ou adicionar camadas extras de indireção ou complexidade ao código. A ofuscação é frequentemente usada para proteger a propriedade intelectual ou para impedir a adulteração maliciosa de um programa. (Graças ao ChatGPT ).
Por que há ofuscação de código?
Se você está desenvolvendo um aplicativo onde a segurança dos dados do usuário está acima de tudo, você não pode comprometê-lo. Embora a segurança à prova de idiotas seja um mito. Mas podemos maximizá-lo até certo ponto usando estes métodos:
- Reduza seu código (ou trepidação da árvore) : ele detecta e remove com segurança classes, campos, métodos e atributos não utilizados de seu aplicativo.
3. Habilitar proguard : Use as regras do proguard para definir quais arquivos você não deseja alterar durante o processo de minificação e redução.
Vamos pular para a parte Como
Ofuscação usando o 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'
}
}
Explicação:
- Ele usará suas configurações de assinatura do modo de liberação. Você terá que criar um arquivo .jks e um key.properties onde você pode mencionar suas credenciais de assinatura.
- Mantenha proguard-rules.pro dentro da pasta do aplicativo, para que você possa definir suas regras dentro dela. Leia aqui como definir regras proguard.
- Para proteger arquivos flutuantes durante a ofuscação, use estas linhas dentro do arquivo 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.**
Agora é hora de uma dica profissional
Se você chegou até aqui, aqui está um presente para você. Seu aplicativo continua travando depois de ativar o proguard?
Tente este truque para depurá-lo:
Substitua a versão para depurar e executar o aplicativo no modo de depuração.
buildTypes {
debug {
signingConfig signingConfigs.release
minifyEnabled true
useProguard true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Isso é tudo por hoje. Obrigado por ficar até o final. Sugestões são bem vindas.
Vamos nos conectar agora no Twitter , Instagram ou LinkedIn .





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)