mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-02 09:29:59 +00:00
94 lines
6.5 KiB
Markdown
94 lines
6.5 KiB
Markdown
# 네이티브 라이브러리 역공학
|
|
|
|
<details>
|
|
|
|
<summary><strong>htARTE (HackTricks AWS Red Team Expert)로부터 AWS 해킹을 제로부터 전문가로 배우세요</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
HackTricks를 지원하는 다른 방법:
|
|
|
|
* **회사가 HackTricks에 광고되길 원하거나** **PDF 형식의 HackTricks를 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
|
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
|
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
|
* **💬 [디스코드 그룹](https://discord.gg/hRep4RUj7f)** 또는 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
|
* **HackTricks** 및 **HackTricks Cloud** github 저장소로 **PR 제출**하여 해킹 트릭을 공유하세요.
|
|
|
|
</details>
|
|
|
|
### [WhiteIntel](https://whiteintel.io)
|
|
|
|
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
[**WhiteIntel**](https://whiteintel.io)은 **다크 웹**을 활용한 검색 엔진으로, 회사나 고객이 **스틸러 악성 코드**에 의해 **침해**당했는지 무료로 확인할 수 있는 기능을 제공합니다.
|
|
|
|
WhiteIntel의 주요 목표는 정보를 도난하는 악성 코드로 인한 계정 탈취 및 랜섬웨어 공격을 막는 것입니다.
|
|
|
|
그들의 웹사이트를 방문하여 엔진을 **무료로** 시험해 볼 수 있습니다:
|
|
|
|
{% embed url="https://whiteintel.io" %}
|
|
|
|
***
|
|
|
|
**추가 정보는 여기를 확인하세요:** [**https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html**](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 어셈블리 학습:**
|
|
* 기본 아키텍처에 대한 깊은 이해를 위해 권장됨.
|
|
* Azeria Labs의 [ARM 어셈블리 기초](https://azeria-labs.com/writing-arm-assembly-part-1/)를 추천함.
|
|
* **JNI 및 NDK 문서:**
|
|
* [오라클 JNI 사양](https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html)
|
|
* [Android JNI 팁](https://developer.android.com/training/articles/perf-jni)
|
|
* [NDK 시작하기](https://developer.android.com/ndk/guides/)
|
|
* **네이티브 라이브러리 디버깅:**
|
|
* [JEB 디컴파일러를 사용한 Android 네이티브 라이브러리 디버깅](https://medium.com/@shubhamsonani/how-to-debug-android-native-libraries-using-jeb-decompiler-eec681a22cf3)
|
|
|
|
### [WhiteIntel](https://whiteintel.io)
|
|
|
|
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
[**WhiteIntel**](https://whiteintel.io)은 **다크 웹**을 활용한 검색 엔진으로, 회사나 고객이 **스틸러 악성 코드**에 의해 **침해**당했는지 무료로 확인할 수 있는 기능을 제공합니다.
|
|
|
|
WhiteIntel의 주요 목표는 정보를 도난하는 악성 코드로 인한 계정 탈취 및 랜섬웨어 공격을 막는 것입니다.
|
|
|
|
그들의 웹사이트를 방문하여 엔진을 **무료로** 시험해 볼 수 있습니다:
|
|
|
|
{% embed url="https://whiteintel.io" %}
|
|
|
|
<details>
|
|
|
|
<summary><strong>htARTE (HackTricks AWS Red Team Expert)로부터 AWS 해킹을 제로부터 전문가로 배우세요</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
HackTricks를 지원하는 다른 방법:
|
|
|
|
* **회사가 HackTricks에 광고되길 원하거나** **PDF 형식의 HackTricks를 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
|
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
|
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
|
* **💬 [디스코드 그룹](https://discord.gg/hRep4RUj7f)** 또는 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
|
* **HackTricks** 및 **HackTricks Cloud** github 저장소로 **PR 제출**하여 해킹 트릭을 공유하세요.
|
|
|
|
</details>
|