Sobes.tech
Middle+

Kodun obfuskasiyası haqqında fikriniz nədir və kodun qorunması üçün hansı metodların ən effektiv olduğunu düşünürsünüz?

sobes.tech Süni İntellekt

AI-dan cavab

Müsbət. Obfuskasiya geri mühəndisliyi çətinləşdirir və hücum edənlərin kodu analiz etməsini çətinləşdirir.

Ən effektiv qoruma metodları:

  • Obfuskasiya: Kodun məntiqini qarışdırmaq, siniflərin, metodların və sahələrin adlarını dəyişdirmək. R8/ProGuard kimi alətlər.
  • Şifrləmə: Həssas məlumatların və kodun kritik hissələrinin şifrələnməsi.
  • Kod bütövlüyü: İcra zamanı kodun bütövlüyünü yoxlama, dəyişiklikləri aşkar etmək üçün.
  • Açarların və sirrlərin gizlədilməsi: Həssas məlumatları təhlükəsiz yerdə saxlamaq, məsələn, Android Keystore istifadə etməklə.
  • Debuggeri qorumaq: JDWP debugçısına qoşulma cəhdlərini aşkar etmək və qarşısını almaq.
  • Root/jailbreak aşkarlanması: Pozulmuş cihaz tapıldıqda funksionallığı deaktiv etmək və ya tətbiqdən çıxmaq.

Bir neçə metodu birləşdirən kompleks yanaşma ən yaxşı qoruma təmin edir.

R8 ilə əsas obfuskasiya nümunəsi:

# Bütün Activity genişləndirən sinfləri saxla
-keep public class * extends android.app.Activity

# Anotasiya silinməsini qarşısını al
-keepattributes *Annotation*

# Bu metod tərəfindən qaytarılan siniflərdəki bütün metod və sahələri saxla
-keepclassmembers class foo.bar.Baz {
  <fields>;
  <methods>;
}

# R.java faylını açıq şəkildə sil
-dontwarn **R$*
-dontnote **R$*
-dontoptimize **R$*