9.1 KiB
Реверсування Нативних Бібліотек
{% hint style="success" %}
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
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.- Надано вправи для практики завантаження бібліотек, зв'язування методів та ідентифікації нативних функцій.
Ресурси:
- Вивчення ARM Асемблера:
- Рекомендується для глибшого розуміння основної архітектури.
- Основи ARM Асемблера від Azeria Labs рекомендовані.
- Документація JNI та NDK:
- Специфікація JNI від Oracle
- Поради JNI для Android
- Початок роботи з NDK
- Налагодження Нативних Бібліотек:
- Налагодження Нативних Бібліотек Android за допомогою JEB Декомпілера
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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.