Reversing Native Libraries

Support HackTricks

WhiteIntel to wyszukiwarka zasilana dark-web, która oferuje darmowe funkcjonalności do sprawdzenia, czy firma lub jej klienci zostali skompromentowani przez złośliwe oprogramowanie kradnące.

Głównym celem WhiteIntel jest zwalczanie przejęć kont i ataków ransomware wynikających z złośliwego oprogramowania kradnącego informacje.

Możesz sprawdzić ich stronę internetową i wypróbować ich silnik za darmo pod adresem:


Aby uzyskać więcej informacji, sprawdź: https://maddiestone.github.io/AndroidAppRE/reversing_native_libs.html

Aplikacje na Androida mogą korzystać z bibliotek natywnych, zazwyczaj napisanych w C lub C++, do zadań wymagających dużej wydajności. Twórcy złośliwego oprogramowania również korzystają z tych bibliotek, ponieważ są trudniejsze do inżynierii odwrotnej niż kod bajtowy DEX. Sekcja ta podkreśla umiejętności inżynierii odwrotnej dostosowane do Androida, zamiast uczyć języków asemblera. Wersje bibliotek dla ARM i x86 są dostarczane dla zapewnienia kompatybilności.

Kluczowe punkty:

  • Biblioteki natywne w aplikacjach Android:

  • Używane do zadań wymagających dużej wydajności.

  • Napisane w C lub C++, co utrudnia inżynierię odwrotną.

  • Znajdują się w formacie .so (obiekt współdzielony), podobnie jak binaria w systemie Linux.

  • Twórcy złośliwego oprogramowania preferują kod natywny, aby utrudnić analizę.

  • Java Native Interface (JNI) i Android NDK:

  • JNI pozwala na implementację metod Java w kodzie natywnym.

  • NDK to zestaw narzędzi specyficznych dla Androida do pisania kodu natywnego.

  • JNI i NDK łączą kod Java (lub Kotlin) z bibliotekami natywnymi.

  • Ładowanie i wykonywanie bibliotek:

  • Biblioteki są ładowane do pamięci za pomocą System.loadLibrary lub System.load.

  • JNI_OnLoad jest wykonywane po załadowaniu biblioteki.

  • Metody natywne zadeklarowane w Javie łączą się z funkcjami natywnymi, umożliwiając wykonanie.

  • Łączenie metod Java z funkcjami natywnymi:

  • Linkowanie dynamiczne: Nazwy funkcji w bibliotekach natywnych pasują do określonego wzoru, co umożliwia automatyczne linkowanie.

  • Linkowanie statyczne: Używa RegisterNatives do linkowania, co zapewnia elastyczność w nazewnictwie funkcji i strukturze.

  • Narzędzia i techniki inżynierii odwrotnej:

  • Narzędzia takie jak Ghidra i IDA Pro pomagają w analizie bibliotek natywnych.

  • JNIEnv jest kluczowe dla zrozumienia funkcji JNI i interakcji.

  • Dostarczono ćwiczenia do praktyki ładowania bibliotek, łączenia metod i identyfikowania funkcji natywnych.

Zasoby:

WhiteIntel to wyszukiwarka zasilana dark-web, która oferuje darmowe funkcjonalności do sprawdzenia, czy firma lub jej klienci zostali skompromentowani przez złośliwe oprogramowanie kradnące.

Głównym celem WhiteIntel jest zwalczanie przejęć kont i ataków ransomware wynikających z złośliwego oprogramowania kradnącego informacje.

Możesz sprawdzić ich stronę internetową i wypróbować ich silnik za darmo pod adresem:

Support HackTricks

Last updated