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$*