Reversing Native Libraries

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

WhiteIntel je pretraživač pokretan dark web-om koji nudi besplatne funkcionalnosti za proveru da li je kompanija ili njeni korisnici kompromitovani od strane kradljivih malvera.

Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomverom koji proizilaze iz malvera za krađu informacija.

Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za besplatno na:


Za dodatne informacije pogledajte: https://maddiestone.github.io/AndroidAppRE/reversing_native_libs.html

Android aplikacije mogu koristiti nativne biblioteke, obično napisane u C ili C++, za zadatke koji zahtevaju visoke performanse. Kreatori malvera takođe koriste ove biblioteke, jer su teže za reverzno inženjerstvo od DEX bajtkoda. Ova sekcija naglašava veštine reverznog inženjeringa prilagođene Androidu, umesto učenja jezika asemblerskog jezika. ARM i x86 verzije biblioteka su obezbeđene radi kompatibilnosti.

Ključne tačke:

  • Nativne biblioteke u Android aplikacijama:

  • Koriste se za zadatke koji zahtevaju visoke performanse.

  • Napisane su u C ili C++, što čini reverzno inženjerstvo izazovnim.

  • Pronalaze se u formatu .so (deljene objekte), slično Linux binarnim datotekama.

  • Kreatori malvera preferiraju nativni kod kako bi analiza bila teža.

  • Java Native Interface (JNI) & Android NDK:

  • JNI omogućava da se Java metode implementiraju u nativnom kodu.

  • NDK je Android-specifičan skup alata za pisanje nativnog koda.

  • JNI i NDK povezuju Java (ili Kotlin) kod sa nativnim bibliotekama.

  • Učitavanje i izvršavanje biblioteka:

  • Biblioteke se učitavaju u memoriju korišćenjem System.loadLibrary ili System.load.

  • JNI_OnLoad se izvršava prilikom učitavanja biblioteke.

  • Java-deklarisane nativne metode povezuju se sa nativnim funkcijama, omogućavajući izvršavanje.

  • Povezivanje Java metoda sa nativnim funkcijama:

  • Dinamičko povezivanje: Imena funkcija u nativnim bibliotekama odgovaraju određenom obrascu, omogućavajući automatsko povezivanje.

  • Statičko povezivanje: Koristi RegisterNatives za povezivanje, pružajući fleksibilnost u imenovanju funkcija i strukturi.

  • Alati i tehnike za reverzno inženjerstvo:

  • Alati poput Ghidra i IDA Pro pomažu u analizi nativnih biblioteka.

  • JNIEnv je ključan za razumevanje JNI funkcija i interakcija.

  • Vežbe su obezbeđene radi vežbanja učitavanja biblioteka, povezivanja metoda i identifikovanja nativnih funkcija.

Resursi:

WhiteIntel je pretraživač pokretan dark web-om koji nudi besplatne funkcionalnosti za proveru da li je kompanija ili njeni korisnici kompromitovani od strane kradljivih malvera.

Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomverom koji proizilaze iz malvera za krađu informacija.

Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za besplatno na:

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated