Anti-depanare în Android

Oricine a făcut controlul real anti-debug. Știu că există lucruri de genul

IsDebuggerConnected()

boolean isDebuggable = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE));

Caut ceva care este ca ptrace folosind NDK sau orice alt mecanism în cazul în care mânerul procesului nu poate fi depanat de alții. De exemplu, o auto-depanare în diff thread atunci când începe cererea care doesnot permite altor debugger pentru a obține deținute de proces.

Orice înțelegere cu privire la acest lucru va fi foarte utilă.

2

1 răspunsuri

Nu există nicio modalitate de a preveni cu ușurință depanarea și ingineria inversă a aplicației. Puteți face mai dificilă obfiscarea, dar dacă merită să faceți inginer invers, se va face (specialiștii IT de la Sovjet au reusit să inverseze sistemul 360 și chiar să o patcheze în codul mașinii) - deci nu merită efortul .

1
adăugat
Mă întreb doar dacă există o cale de a face ingineria inversă un complex lil. Știu că obfuscația este o metodă. Orice altele pe care să vă puteți gândi? (cum ar fi auto-depanarea aplicației prin ea însăși etc.)
adăugat autor user1416662, sursa
inversarea ingineriei nu este o sarcină ușoară în general (chiar dacă aveți surse scrise de altcineva;)), și protecția împotriva ei nu este, de obicei, merită efortul
adăugat autor Konstantin Pribluda, sursa
Android dezvoltatori, România — Moldova
Android dezvoltatori, România — Moldova
27 participanți

Parteneri: ciupacabra.com, @php_ro, @js_ro, @node_ro iOS: @ro_ios Reguli: https://github.com/js-ro/it-telegram/blob/master/RULES.md