Sobes.tech
Middle+

Aký je váš názor na obfuskáciu kódu a aké metódy ochrany kódu považujete za najúčinnejšie?

sobes.tech AI

Odpoveď od AI

Pozitívne. Obfuskácia zvyšuje zložitosť reverzného inžinierstva, sťažujúc analýzu kódu útočníkmi.

Najúčinnejšie metódy ochrany:

  • Obfuskácia: Zmätenie logiky kódu, premenovanie tried, metód a polí. Nástroje ako R8/ProGuard.
  • Šifrovanie: Šifrovanie citlivých dát a kritických častí kódu.
  • Integrita kódu: Kontroly integrity kódu počas behu na detekciu zmien.
  • Skrytie kľúčov a tajomstiev: Ukladanie citlivých dát na bezpečné miesto, napríklad pomocou Android Keystore.
  • Ochrana pred debuggerom: Detekcia a odstrašenie pokusov o pripojenie JDWP debuggeru.
  • Detekcia root/jailbreak: Deaktivácia funkcií alebo ukončenie aplikácie pri zistení kompromitovaného zariadenia.

Komplexný prístup kombinujúci viacero metód poskytuje najlepšiu ochranu.

Príklad základnej obfuskácie pomocou R8:

# Zachovajte všetky triedy, ktoré rozširujú Activity
-keep public class * extends android.app.Activity

# Zabránte odstráneniu anotácií optimalizáciou.
-keepattributes *Annotation*

# Zachovajte všetky metódy a polia v triedach, ktoré sú vrátené touto metódou.
-keepclassmembers class foo.bar.Baz {
  <fields>;
  <methods>;
}

# Výslovne odstráňte súbor R.java.
-dontwarn **R$*
-dontnote **R$*
-dontoptimize **R$*