Sobes.tech
Middle+

Kā jūs vērtējat koda obfuskāciju un kādas koda aizsardzības metodes uzskatāt par visefektīvākajām?

sobes.tech AI

Atbilde no AI

Pozitīvi. Obfuskācija palielina atpakaļejo inženieriju sarežģītību, apgrūtinot kodu analīzi uzbrucēju pusē.

Visefektīvākās aizsardzības metodes:

  • Obfuskācija: Koda loģikas sajaukšana, klases, metodes un lauku pārsaukšana. Rīki kā R8/ProGuard.
  • Šifrēšana: Svarīgu datu un kritisko koda daļu šifrēšana.
  • Koda integritātes pārbaude: Koda integritātes pārbaude izpildes laikā, lai atklātu modifikācijas.
  • Atslēgu un noslēpumu slēpšana: Svarīgu datu glabāšana drošā vietā, piemēram, izmantojot Android Keystore.
  • Aizsardzība pret debugger: JDWP debugger savienošanas mēģinājumu noteikšana un novēršana.
  • Root/jailbreak noteikšana: Funkciju deaktivizēšana vai iziešana no lietotnes, ja tiek konstatēts kompromitēts ierīces statuss.

Kompresēta pieeja, kas apvieno vairākas metodes, nodrošina labāko aizsardzību.

Piemērs pamata obfuskācijai ar R8:

# Saglabāt visas klases, kas paplašina Activity
-keep public class * extends android.app.Activity

# Novērst anotāciju noņemšanu optimizācijas laikā
-keepattributes *Annotation*

# Saglabāt visas metodes un laukus šīs metodes atgrieztajās klasēs
-keepclassmembers class foo.bar.Baz {
  <fields>;
  <methods>;
}

# Skaidri noņemt R.java failu
-dontwarn **R$*
-dontnote **R$*
-dontoptimize **R$*