요즘 애용하고 있는 린포럼에서 린저씨(린 아저씨)가 안드로이드 리버스 엔지니어링 커리큘럼이라는 글을 올려주셨다.

이 내용을 참고하여 공부를 꾸준히 진행해보아야겠다.

이미 알고있던 것이라도 복습한다는 생각으로 처음부터 다시 공부해보겠당.

 

안드로이드 리버스 엔지니어링

 

0. 안드로이드 환경 구성

- adb, 에뮬레이터 설치 등...

 

1. 안드로이드 앱 구조

1.1 안드로이드 APK 구성

1.2 DEX 구조

1.2.1. Smali Code

1.3. DEX 정적 분석

1.3.1. jadx

1.3.2 jeb2

1.4. DEX 동적 분석

1.4.1 ida

1.5. Smali Code 변조

1.6. DEX로만 구성된 크랙미 풀어보기

 

2. DEX 보호 기법

2.1. DEX 난독화

2.2.1. 기능 별 그림

2.2. DEX 암호화

2.2.1. 구현해보기

2.3. 세대 별 패커

2.3.1. java to c, VMP 설명

 

3. ARM?

3.1. ARM 아키텍처가 무엇인가?

3.2. 레지스터

3.3. 스택

3.4. vfp, 인터럽트 모드 7가지 등

 

4. 리눅스 ELF 구조

4.1. 안드로이드에서 SO 역할 

4.2. ELF, 프로그램, 섹션 헤더

4.3. 중요한 섹션헤더 의미, 목적 

4.4. dloepn, dlsym 분석

4.5. UPX 패커

4.6. 언패킹 크랙미 풀기

4.7. 알리바바 SO 언패킹

 

5. 후킹 기술

5.1. LD_PRELOAD

5.2. GOT Hook

5.3. Inline Hook (Trampoline)

5.4. AOSP 커스텀롬 직접 올리기 (루팅탐지우회등)

 

6. Frida 프레임워크

6.1. 동작원리

6.2. JVM 훅

6.3. 네이티브 훅

6.4. 실전 사례 ( 루팅 탐지 로직 우회 등..) 

 

7. 디버깅

7.1. 디버깅을 왜하나요?

7.2. gdb

7.3. IDA

7.4. 안티디버깅

7.5. 안티디버깅 우회 기법

7.6. 안티디버깅 크랙미 앱

 

8. 메모리 해킹

8.1. ptrace

8.2. mem

8.3. process_vm_readv

8.4. 실전 - zygote 훅, SO Injection

 

9. DEX 추출

9.1. 암호화된 DEX 추출하기

9.2. Memory Dump 구현

9.3. Frida로 쉽게 추출하기

 

10. Unity Game 해킹

10.1. Mono VS il2cpp

10.2. Mono hacking

10.2.1. .net reflector

10.2.2. dnSpy

10.2.3. libunity.so Hooking

10.3. il2cpp hacking

10.3.1. il2cpp 동작 구조 분석

10.3.2. il2cpp dumper 분석

10.3.3. il2cpp 심볼 후킹

10.3.4. 어셈블리어 변조

10.3.5. il2cpp.so Hooking

10.4. 모드앱 분석 방법

 

11. 안드로이드 매크로 구현

11.1. dev/input/event VS pc 매크로

11.2. 단순 클릭 매크로 동작 방식

11.3. 스크립트로 구현

 

12. OLLVM

12.1. OLLVM?

12.2. BCF, CFF, SUB, 스트링 암호화

12.3. 소스코드 분석

12.4. ollvm 빌드

12.5. OLLVM 분석 방법 

12.5.1. 매직아이 - 정적 분석 방법 

12.5.2. angr 를 이용한 deobf

 

13. So Shield (Pakcer) 분석과 구현

13.1. UPX

13.2. dlopen 커스터마이징

13.3. 섹션을 활용한 자체 암호화 개발 방법

 

14. 린엔진을 활용한 실전 해킹

14.1. 메모리 서치 & 후킹 

14.2. 훅헬퍼를 이용한 보호솔루션 우회 방법

'Android > Reversing' 카테고리의 다른 글

ELF Parser  (0) 2020.03.09
Smali Code  (0) 2020.03.04
DEX 구조  (0) 2020.03.02
안드로이드 APK 구성  (0) 2020.03.02
안드로이드 앱 종류  (0) 2020.03.01

WRITTEN BY
Bugday

,