Reversing Native Libraries
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Verdiep jou kundigheid in Mobiele Sekuriteit met 8kSec Akademie. Beheers iOS en Android sekuriteit deur ons self-gebaseerde kursusse en kry gesertifiseer:
Vir verdere inligting kyk: https://maddiestone.github.io/AndroidAppRE/reversing_native_libs.html
Android toepassings kan inheemse biblioteke gebruik, tipies geskryf in C of C++, 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.
Inheemse Biblioteke in Android Toepassings:
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 noodsaaklik om JNI funksies en interaksies te verstaan.
Oefeninge word verskaf om te oefen met die laai van biblioteke, koppeling van metodes, en identifisering van inheemse funksies.
Leer ARM Assembly:
Voorstel vir 'n dieper begrip van die onderliggende argitektuur.
ARM Assembly Basics van Azeria Labs word aanbeveel.
JNI & NDK Dokumentasie:
Foutopsporing van Inheemse Biblioteke:
Verdiep jou kundigheid in Mobiele Sekuriteit met 8kSec Akademie. Beheers iOS en Android sekuriteit deur ons self-gebaseerde kursusse en kry gesertifiseer:
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)