6.5 KiB
Odwracanie bibliotek natywnych
Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLANY SUBSKRYPCYJNE!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakowania, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na GitHubie.
WhiteIntel
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:
{% embed url="https://whiteintel.io" %}
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ń krytycznych dla 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 odwrócenie 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.
-
Metody natywne zadeklarowane w Javie łączą się z funkcjami natywnymi, umożliwiając 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 i interakcji JNI. -
Ć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 od Azeria Labs są polecane.
-
Dokumentacja JNI i NDK:
-
Debugowanie Bibliotek Natywnych:
-
Debugowanie Bibliotek Natywnych Androida za pomocą dekompilatora JEB
WhiteIntel
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:
{% embed url="https://whiteintel.io" %}
Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLANY SUBSKRYPCYJNE!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakowania, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na GitHubie.