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