Kebingungan Kode di Flutter (Android)

Dec 15 2022
Ceritanya dimulai saat kami akan memublikasikan aplikasi flutter kami ke produksi. Namun sebelum itu, aplikasi masuk ke proses VAPT (Vulnerability Assessment and Penetration Testing).
Foto oleh FLY:D di Unsplash

Ceritanya dimulai saat kami akan memublikasikan aplikasi flutter kami ke produksi. Namun sebelum itu, aplikasi masuk ke proses VAPT ( Vulnerability Assessment and Penetration Testing ).

Apa itu kebingungan kode?

Kebingungan kode adalah proses membuat kode program sulit dipahami, biasanya dengan tujuan mempersulit merekayasa balik atau memodifikasi. Ini dapat dilakukan melalui berbagai teknik, seperti membuat nama variabel dan fungsi tidak dapat dibaca, atau dengan menambahkan lapisan tipuan atau kompleksitas ekstra ke kode. Kebingungan sering digunakan untuk melindungi kekayaan intelektual atau untuk mencegah perusakan program yang berbahaya. (Terima kasih kepada ChatGPT ).

Mengapa kebingungan kode?

Jika Anda sedang mengembangkan aplikasi yang mengutamakan keamanan data pengguna, Anda tidak dapat mengkompromikannya. Padahal keamanan bukti bodoh adalah mitos. Tapi kita bisa memaksimalkannya sampai batas tertentu dengan menggunakan metode ini:

  1. Kecilkan kode Anda (atau pengocokan pohon) : Ini mendeteksi dan dengan aman menghapus kelas, bidang, metode, dan atribut yang tidak digunakan dari aplikasi Anda.

3. Aktifkan proguard : Gunakan aturan proguard untuk menentukan file mana yang tidak ingin Anda ubah selama proses minifikasi dan penyusutan.

Mari lompat ke bagian Bagaimana

Kebingungan menggunakan perintah 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'
        }
    }

Penjelasan :

  1. Ini akan menggunakan konfigurasi penandatanganan mode rilis Anda. Anda harus membuat file .jks dan key.properties tempat Anda dapat menyebutkan kredensial penandatanganan Anda.
  2. Simpan proguard-rules.pro di dalam folder aplikasi, sehingga Anda dapat menentukan aturan di dalamnya. Baca di sini cara menentukan aturan proguard.
  3. Untuk melindungi file flutter selama obfusaction, gunakan baris berikut di dalam file proguard-rules Anda:
  4. #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.**
    

Sekarang saatnya untuk tip pro

Jika Anda telah sampai di sini, maka inilah hadiah untuk Anda. Apakah aplikasi Anda terus mogok setelah enbaling proguard?

Coba peretasan ini untuk men-debug-nya:

Ganti rilis untuk men-debug dan menjalankan aplikasi dalam mode debug.

buildTypes {
        debug {
            signingConfig signingConfigs.release
            minifyEnabled true
            useProguard true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

Itu saja untuk hari ini. Terima kasih telah bertahan sampai akhir. Saran diterima.

Mari terhubung sekarang di Twitter , Instagram , atau LinkedIn .