hacktricks/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md
2024-02-11 02:07:06 +00:00

5.1 KiB

Omgekeerde Ingenieurswese van Inheemse Biblioteke

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Vir verdere inligting, kyk: https://maddiestone.github.io/AndroidAppRE/reversing_native_libs.html

Android-apps kan inheemse biblioteke gebruik, tipies geskryf in C of C++, vir prestasie-kritieke take. Malware-skeppers gebruik ook hierdie biblioteke, omdat dit moeiliker is om te ontleed as DEX-bytekode. Die afdeling beklemtoon omgekeerde ingenieurswese-vaardighede wat toegespits is op Android, eerder as om assambleertaal te leer. ARM- en x86-weergawes van biblioteke word verskaf vir versoenbaarheid.

Sleutelpunte:

  • Inheemse Biblioteke in Android-apps:

  • Gebruik vir prestasie-intensiewe take.

  • Geskryf in C of C++, wat omgekeerde ingenieurswese uitdagend maak.

  • Word gevind in .so (gedeelde voorwerp) formaat, soortgelyk aan Linux-binêre lêers.

  • Malware-skeppers verkies inheemse kode om analise moeiliker te maak.

  • Java Native Interface (JNI) & Android NDK:

  • JNI maak dit moontlik dat Java-metodes in inheemse kode geïmplementeer kan word.

  • NDK is 'n Android-spesifieke stel gereedskap om inheemse kode te skryf.

  • JNI en NDK koppel Java (of Kotlin) kode met inheemse biblioteke.

  • Biblioteeklaaiing & Uitvoering:

  • Biblioteke word in die geheue gelaai deur gebruik te maak van System.loadLibrary of System.load.

  • JNI_OnLoad word uitgevoer wanneer die biblioteek gelaai word.

  • Java-verklaarde inheemse metodes skakel na inheemse funksies, wat uitvoering moontlik maak.

  • Koppeling van Java-metodes aan Inheemse Funksies:

  • Dinamiese Koppeling: Funksienames in inheemse biblioteke stem ooreen met 'n spesifieke patroon, wat outomatiese koppeling moontlik maak.

  • Statiese Koppeling: Gebruik RegisterNatives vir koppeling, wat buigsaamheid bied in funksienamering en -struktuur.

  • Omgekeerde Ingenieurswese-hulpmiddels en -tegnieke:

  • Hulpmiddels soos Ghidra en IDA Pro help om inheemse biblioteke te analiseer.

  • JNIEnv is van kritieke belang vir die verstaan van JNI-funksies en interaksies.

  • Oefeninge word verskaf om die laai van biblioteke, koppeling van metodes en identifisering van inheemse funksies te oefen.

Hulpbronne:

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: