Reversing Native Libraries

Support HackTricks

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

Android-apps kan inheemse biblioteke gebruik, wat tipies in C of C++ geskryf is, vir prestasiekritieke take. Malware-skeppers gebruik ook hierdie biblioteke, aangesien dit moeiliker is om om te keer as DEX bytecode. Die afdeling beklemtoon omgekeerde ingenieursvaardighede wat op Android toegespits is, eerder as om assembler tale te leer. ARM en x86 weergawes van biblioteke word verskaf vir kompatibiliteit.

Sleutelpunte:

  • Inheemse Biblioteke in Android Apps:

  • Gebruik vir prestasiewe intensive take.

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

  • Gevind in .so (gedeelde objek) formaat, soortgelyk aan Linux binêre.

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

  • Java Native Interface (JNI) & Android NDK:

  • JNI laat Java-metodes toe om in inheemse kode geïmplementeer te word.

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

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

  • Biblioteek Laai & Uitvoering:

  • Biblioteke word in geheue gelaai met System.loadLibrary of System.load.

  • JNI_OnLoad word uitgevoer tydens biblioteeklaai.

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

  • Koppeling van Java Metodes aan Inheemse Funksies:

  • Dinamiese Koppeling: Funksienaam in inheemse biblioteke pas by 'n spesifieke patroon, wat outomatiese koppeling moontlik maak.

  • Statische Koppeling: Gebruik RegisterNatives vir koppeling, wat buigsaamheid in funksienaam en struktuur bied.

  • Omgekeerde Ingenieursgereedskap en Tegnieke:

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

  • JNIEnv is van kardinale belang om JNI-funksies en interaksies te verstaan.

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

Hulpbronne:

Support HackTricks

Last updated