Sobes.tech
Middle+

Mit gondolsz a kód obfuszkálásáról, és melyek szerinted a leghatékonyabb kódvédelmi módszerek?

sobes.tech MI

Válasz az MI-től

Pozitív. Az obfuszáció növeli a fordított mérnökség nehézségeit, megnehezítve a kód elemzését a támadók számára.

A leghatékonyabb védelmi módszerek:

  • Obfuszáció: A kód logikájának összezavarása, osztályok, metódusok és mezők átnevezése. Eszközök, mint például R8/ProGuard.
  • Titkosítás: Érzékeny adatok és kritikus kódrészek titkosítása.
  • Kód integritás: A kód integritásának ellenőrzése futás közben a módosítások észlelése érdekében.
  • Kulcsok és titkok elrejtése: Érzékeny adatok biztonságos tárolása, például az Android Keystore használatával.
  • Védelem debugger ellen: A JDWP debugger csatlakozási kísérleteinek felismerése és ellensúlyozása.
  • Root/jailbreak felismerése: Funkciók kikapcsolása vagy kilépés az alkalmazásból, ha kompromittált eszközt észlel.

Egy átfogó megközelítés, amely több módszert kombinál, a legjobb védelmet nyújtja.

Alap obfuszáció példája R8 segítségével:

# Minden Activity-t kiterjesztő osztály megőrzése
-keep public class * extends android.app.Activity

# Az annotációk eltávolításának megakadályozása optimalizálás során.
-keepattributes *Annotation*

# Minden metódus és mező megőrzése azokban az osztályokban, amelyeket ez a módszer ad vissza.
-keepclassmembers class foo.bar.Baz {
  <fields>;
  <methods>;
}

# A R.java fájl kifejezett eltávolítása.
-dontwarn **R$*
-dontnote **R$*
-dontoptimize **R$*