Reversing Native Libraries
WhiteIntel to wyszukiwarka zasilana przez dark web, która oferuje darmowe funkcje sprawdzania, czy firma lub jej klienci zostali skompromitowani przez złośliwe oprogramowanie kradnące dane.
Ich 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ć dalsze informacje, 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 wysokiej wydajności. Twórcy złośliwego oprogramowania również korzystają z tych bibliotek, ponieważ są trudniejsze do zreversowania niż bajty DEX. Sekcja podkreśla umiejętności odwracania inżynierii dostosowane do Androida, zamiast nauczania języków asemblera. Wersje bibliotek ARM i x86 są dostarczane dla kompatybilności.
Kluczowe punkty:
Biblioteki natywne w aplikacjach na Androida:
Używane do zadań wymagających wysokiej wydajności.
Napisane w C lub C++, co sprawia, że odwracanie inżynierii jest trudne.
Znalezione w formacie
.so
(shared object), podobnie jak binarne pliki 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 Javy w kodzie natywnym.
NDK to zestaw narzędzi specyficznych dla Androida do pisania kodu natywnego.
JNI i NDK łączą kod Javy (lub Kotlin) z bibliotekami natywnymi.
Ładowanie i Wykonywanie Bibliotek:
Biblioteki są ładowane do pamięci za pomocą
System.loadLibrary
lubSystem.load
.JNI_OnLoad jest wykonywane podczas ładowania biblioteki.
Deklarowane w Javie metody natywne łączą się z funkcjami natywnymi, umożliwiając ich wykonanie.
Łączenie Metod Javy z Funkcjami Natywnymi:
Łączenie Dynamiczne: Nazwy funkcji w bibliotekach natywnych pasują do określonego wzorca, co umożliwia automatyczne łączenie.
Łączenie Statyczne: Wykorzystuje
RegisterNatives
do łączenia, zapewniając elastyczność w nazewnictwie funkcji i strukturze.Narzędzia i Techniki Odwracania Inżynierii:
Narzędzia takie jak Ghidra i IDA Pro pomagają analizować biblioteki natywne.
JNIEnv
jest kluczowy do zrozumienia funkcji JNI i interakcji.Ćwiczenia są dostarczane do praktyki ładowania bibliotek, łączenia metod i identyfikowania funkcji natywnych.
Zasoby:
Nauka Assemblera ARM:
Zalecane dla głębszego zrozumienia architektury.
Podstawy Assemblera ARM z Azeria Labs są polecane.
Dokumentacja JNI i NDK:
Debugowanie Bibliotek Natywnych:
WhiteIntel to wyszukiwarka zasilana przez dark web, która oferuje darmowe funkcje sprawdzania, czy firma lub jej klienci zostali skompromitowani przez złośliwe oprogramowanie kradnące dane.
Ich 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:
Last updated