Sobes.tech
Middle+

Кодду обфускациялоо жөнүндө кандайсыз жана кодду коргоо үчүн кайсы ыкмаларды эң натыйжалуу деп эсептейсиз?

sobes.tech AI

AIден жооп

Позитивдүү. Обфускация кері инженерияны кыйындатат, кодду талдоо үчүн кол салуучулар үчүн кыйынчылык жаратат.

Эң натыйжалуу коргоо ыкмалары:

  • Обфускация: Коддун логикасын аралаштырып, класстарды, методдорду жана талааларды кайра аталыштоо. R8/ProGuard сыяктуу инструменттер.
  • Шифрлөө: Ысык маалыматтарды жана коддун маанилүү бөлүктөрүн шифрлөө.
  • Коддун бүтүндүгү: Ишке киргизүү учурунда коддун бүтүндүгүн текшерүү, өзгөртүүлөрдү аныктоо үчүн.
  • Ключтер жана сырларды жашыруу: Ысык маалыматтарды коопсуз жайда сактоо, мисалы, Android Keystore колдонуу.
  • Дебагерге каршы коргоо: JDWP дебагерине туташуу аракеттерин аныктоо жана каршы турууга аракеттер.
  • Root/jailbreak аныктоо: Аламдарда функцияларды өчүрүү же колдонмодон чыгуу, эгер коркунучтуу түзмөк табылса.

Көп ыкмаларды бириктирген комплекстүү ыкма эң жакшы коргоону камсыздайт.

R8 менен негизги обфускациянын мисалы:

# Бардык Activity кеңейткен класстарды сактаңыз
-keep public class * extends android.app.Activity

# Анотацияларды жоюуну алдын алуу
-keepattributes *Annotation*

# Бул ыкма кайтаратган бардык класстардагы бардык методдорду жана талааларды сактаңыз
-keepclassmembers class foo.bar.Baz {
  <fields>;
  <methods>;
}

# R.java файлын ачык түрдө жоготуңуз
-dontwarn **R$*
-dontnote **R$*
-dontoptimize **R$*