hacktricks/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md

9.1 KiB
Raw Blame History

Реверсування Нативних Бібліотек

{% hint style="success" %} Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks
{% endhint %}

WhiteIntel

WhiteIntel — це пошукова система, що працює на основі темного вебу, яка пропонує безкоштовні функції для перевірки, чи була компрометована компанія або її клієнти через шкідливі програми-крадії.

Основна мета WhiteIntel — боротися з захопленнями облікових записів та атаками програм-вимагачів, що виникають внаслідок шкідливих програм, що крадуть інформацію.

Ви можете перевірити їхній вебсайт і спробувати їхній двигун безкоштовно за адресою:

{% embed url="https://whiteintel.io" %}


Для отримання додаткової інформації перевірте: https://maddiestone.github.io/AndroidAppRE/reversing_native_libs.html

Android додатки можуть використовувати нативні бібліотеки, зазвичай написані на C або C++, для виконання завдань, критичних до продуктивності. Творці шкідливих програм також використовують ці бібліотеки, оскільки їх важче реверсувати, ніж DEX байт-код. У розділі підкреслюються навички реверс-інжинірингу, адаптовані до Android, а не навчання мовам асемблера. Для сумісності надаються версії бібліотек для ARM та x86.

Ключові Пункти:

  • Нативні Бібліотеки в Android Додатках:
  • Використовуються для завдань, що вимагають високої продуктивності.
  • Написані на C або C++, що ускладнює реверс-інжиніринг.
  • Знаходяться у форматі .so (спільний об'єкт), подібному до Linux бінарників.
  • Творці шкідливих програм віддають перевагу нативному коду, щоб ускладнити аналіз.
  • Java Native Interface (JNI) та Android NDK:
  • JNI дозволяє реалізовувати Java методи в нативному коді.
  • NDK — це набір інструментів, специфічних для Android, для написання нативного коду.
  • JNI та NDK з'єднують Java (або Kotlin) код з нативними бібліотеками.
  • Завантаження та Виконання Бібліотек:
  • Бібліотеки завантажуються в пам'ять за допомогою System.loadLibrary або System.load.
  • JNI_OnLoad виконується під час завантаження бібліотеки.
  • Нативні методи, оголошені в Java, пов'язуються з нативними функціями, що дозволяє виконання.
  • Зв'язування Java Методів з Нативними Функціями:
  • Динамічне Зв'язування: Імена функцій у нативних бібліотеках відповідають певному шаблону, що дозволяє автоматичне зв'язування.
  • Статичне Зв'язування: Використовує RegisterNatives для зв'язування, забезпечуючи гнучкість у найменуванні функцій та структурі.
  • Інструменти та Техніки Реверс-Інжинірингу:
  • Інструменти, такі як Ghidra та IDA Pro, допомагають аналізувати нативні бібліотеки.
  • JNIEnv є важливим для розуміння функцій та взаємодій JNI.
  • Надано вправи для практики завантаження бібліотек, зв'язування методів та ідентифікації нативних функцій.

Ресурси:

WhiteIntel

WhiteIntel — це пошукова система, що працює на основі темного вебу, яка пропонує безкоштовні функції для перевірки, чи була компрометована компанія або її клієнти через шкідливі програми-крадії.

Основна мета WhiteIntel — боротися з захопленнями облікових записів та атаками програм-вимагачів, що виникають внаслідок шкідливих програм, що крадуть інформацію.

Ви можете перевірити їхній вебсайт і спробувати їхній двигун безкоштовно за адресою:

{% embed url="https://whiteintel.io" %}

{% hint style="success" %} Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks
{% endhint %}