Flutter'da Kod Şaşırtma (Android)
Hikaye, flutter uygulamamızı yapım ekibine yayınlamak üzereyken başlıyor. Ancak uygulama bundan önce VAPT ( Vulnerability Assessment and Penetration Testing ) sürecine girdi.
Kod gizleme nedir?
Kod şaşırtma, genellikle tersine mühendislik yapmayı veya değiştirmeyi zorlaştırmak amacıyla bir programın kodunun anlaşılmasını zorlaştırma işlemidir. Bu, değişken ve işlev adlarını okunamaz hale getirmek veya koda fazladan dolaylı katmanlar veya karmaşıklık eklemek gibi çeşitli tekniklerle yapılabilir. Gizleme, genellikle fikri mülkiyeti korumak veya bir programda kötü niyetli kurcalamayı önlemek için kullanılır. (ChatGPT'ye teşekkürler ).
Neden kod şaşırtması var?
Kullanıcı verilerinin güvenliğinin her şeyin üzerinde olduğu bir uygulama geliştiriyorsanız, bundan ödün veremezsiniz. Aptal kanıtlı güvenlik bir efsane olsa da. Ancak şu yöntemleri kullanarak bunu bir dereceye kadar maksimize edebiliriz:
- Kodunuzu küçültün (veya ağaç sallayın) : Kullanılmayan sınıfları, alanları, yöntemleri ve nitelikleri uygulamanızdan algılar ve güvenli bir şekilde kaldırır.
3. Proguard'ı etkinleştirin : Küçültme ve küçültme işlemi sırasında hangi dosyaları değiştirmek istemediğinizi tanımlamak için proguard kurallarını kullanın.
Gelelim Nasıl kısmına
Flutter komutunu kullanarak şaşırtma
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'
}
}
Açıklama :
- Yayın modu imzalama yapılandırmalarınızı kullanacaktır. .jks dosyası ve imzalama kimlik bilgilerinizden bahsedebileceğiniz bir key.properties oluşturmanız gerekecektir.
- proguard-rules.pro'yu uygulama klasörünün içinde tutun, böylece kurallarınızı içinde tanımlayabilirsiniz. Proguard kurallarının nasıl tanımlanacağını buradan okuyun .
- Gizleme sırasında flutter dosyalarını korumak için proguard-rules dosyanızın içindeki şu satırları kullanın:
#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.**
Şimdi profesyonel bir ipucu zamanı
Buraya kadar geldiyseniz işte size bir hediye. Proguard'ı etkinleştirdikten sonra uygulamanız çökmeye devam ediyor mu?
Hata ayıklamak için bu hack'i deneyin:
Hata ayıklamak ve uygulamayı hata ayıklama modunda çalıştırmak için sürümü değiştirin.
buildTypes {
debug {
signingConfig signingConfigs.release
minifyEnabled true
useProguard true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Hepsi bugün için. Sonuna kadar kaldığınız için teşekkürler. Öneriler kabul edilir.
Şimdi Twitter , Instagram veya LinkedIn üzerinden bağlanalım .

![Bağlantılı Liste Nedir? [Bölüm 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































