1. 안티 디버깅이란?
    - 디버깅을 방해하고 분석을 방해하는 기술


2. 안티 디버깅을 왜 공부해야하는가?
    - 각종 안티 디버깅 기법들의 동작 원리를 파악한 후 회피하기 위해서
    - 안티 디버깅 기법을 공부하면서 고급 리버싱을 배울 수 있기 때문에


3. 안티 디버깅의 의존성
    - 안티 디버깅 기법은 디버거와 OS에 강한 의존성이 있다.
    ex) Ldr, ProcessHeap, GetProcessHeap : XP에서만 효과가 있는 기법


4. 안티 디버깅 기법의 분류

1) Static 안티 디버깅
- 특징 : 디버깅을 시작할 때 한번만 해체를 해주면 해결
- 목적 : 디버거 탐지
- 해체 방법 : API Hooking, Debugger Plugin

2) Dynamic 안티 디버깅
- 특징 : 디버깅을 진행하면서 안티 디버깅을 만날 때마다 해결
- 목적 : 내부 코드와 데이터를 숨김
- 해체 방법 : API Hooking, Debugger Plugin, Utilities



참고 : 리버싱 핵심원리(책), Windows 구조와 원리(책), MSDN

'Reversing' 카테고리의 다른 글

Static Anti-Debugging 0x02. LDR  (0) 2016.07.06
Static Anti-Debugging 0x01. IsDebuggerPresent()  (0) 2016.07.06
PEB 구조  (2) 2016.07.05
TEB 구조  (0) 2016.07.05
Heap, FS, TEB, PEB  (0) 2016.07.05

+ Recent posts