Sobes.tech
Middle+

Jaký je váš názor na obfuskaci kódu a jaké metody ochrany kódu považujete za nejúčinnější?

sobes.tech AI

Odpověď od AI

Pozitivní. Obfuskace zvyšuje složitost reverzního inženýrství, což ztěžuje analýzu kódu útočníky.

Nejúčinnější metody ochrany:

  • Obfuskace: Zmatek v logice kódu, přejmenování tříd, metod a polí. Nástroje jako R8/ProGuard.
  • Šifrování: Šifrování citlivých dat a kritických částí kódu.
  • Integrita kódu: Kontroly integrity kódu při běhu pro detekci modifikací.
  • Skrytí klíčů a tajemství: Uložení citlivých dat na bezpečné místo, například pomocí Android Keystore.
  • Ochrana před debuggerem: Detekce a odstrašení pokusů o připojení debuggeru JDWP.
  • Detekce root/jailbreak: Vypnutí funkcí nebo ukončení aplikace při detekci kompromitovaného zařízení.

Komplexní přístup kombinující více metod poskytuje nejlepší ochranu.

Příklad základní obfuskace pomocí R8:

# Zachovejte všechny třídy, které rozšiřují Activity
-keep public class * extends android.app.Activity

# Zabránit odstranění anotací optimalizací.
-keepattributes *Annotation*

# Zachovejte všechny metody a pole ve třídách, které jsou vráceny touto metodou.
-keepclassmembers class foo.bar.Baz {
  <fields>;
  <methods>;
}

# Výslovně odstraňte soubor R.java.
-dontwarn **R$*
-dontnote **R$*
-dontoptimize **R$*