목차
1장 윈도우, 메시지(Window, Message) ... 17
   01 윈도우(Window) ... 18
   02 윈도우 프로시저(Window Procedure) ... 24
   03 윈도우 메시지(Window Message) ... 27
   04 모달 윈도우 해제하기(Modal Window Free) ... 34
   05 데스크톱(Desktop), 세션(Session), 스테이션(Station) ... 38
2장 프로세스, 스레드(Process, Thread) ... 51
   01 프로세스의 구조 ... 52
   02 스레드의 구조 ... 57
   03 스레드 관리 기법 ... 60
   04 스레드 로컬 스토리지(Thread-Local Storage) ... 64
3장 커널 객체(Kernel Object) ... 69
   01 핸들(Handle)과 객체(Object) ... 70
   02 동기화 객체(Synchronization Object) ... 86
   03 커널 객체 공유 ... 94
   04 보안 속성(Security Attributes) ... 99
4장 디버깅(Debugging) ... 105
   01 디버거(Debugger) ... 106
   02 디버기(Debuggee) ... 111
   03 디버깅 API ... 113
   04 심볼과 맵(Symbol & Map) ... 123
   05 디버거 연결 ... 129
   06 특권(Privilege) ... 134
   07 PEB, TEB 확인하기 ... 138
5장 어셈블리(Assembly) 언어 ... 145
   01 어셈블리 언어 형식(Instruction Format) ... 146
   02 레지스터(Register) ... 148
   03 기본 명령어 이해 ... 168
6장 해킹 기법(Hacking Techniques) ... 191
   01 버퍼 오버플로우(Buffer Overflow) ... 192
   02 포맷 문자열 공격(Format String Attack) ... 197
   03 코드 케이브(Code Cave) ... 200
   04 화면 정보 구하기 ... 207
   05 비정상 함수 호출(Abnormal Function Call) ... 212
   06 리플레이 공격(Replay Attack) ... 218
   07 IPC 스니핑(IPC Sniffing) ... 220
   08 코드 훔치기(Code Steal) ... 224
   09 코드 패치(Code Patch) ... 232
   10 루트킷(Rootkit) ... 238
7장 DLL 인젝션(DLL Injection) ... 243
   01 DLL 인젝션 ... 244
   02 DLL 인젝션 기법 ... 245
   03 DLL 인젝션 방어 ... 264
8장 API 후킹(API Hooking) ... 267
   01 IAT(Import Address Table) 후킹 ... 268
   02 인라인 코드 패치(Inline Code Patch) ... 278
   03 SSDT(System Service Descriptor Table) 후킹 ... 294
9장 안티디버깅(Anti-debugging) ... 309
   01 디버깅(Debugging) API ... 310
   02 디버그 플래그(Debug Flag) ... 315
   03 중단점(Breakpoint) ... 319
   04 예외 처리기(Exception Handler) ... 322
   05 기타 ... 326
10장 메모리 상의 데이터 변경 ... 329
   01 가상 메모리와 물리적인 메모리의 관계 ... 330
   02 메모리 조작 도구 ... 333
   03 디버거를 통한 메모리 조작 ... 339
   04 API를 통한 메모리 조작 ... 343
11장 자동 입력 프로그램 제작 ... 347
   01 응용 레벨 자동 입력 프로그램 ... 349
   02 커널 레벨 자동 입력 프로그램 ... 360
12장 스풀 데이터(Spool Data) 조작 ... 373
   01 스풀(Spool) 동작 ... 374
   02 스풀 가로채기(Spool Hijacking) 소스 코드 ... 378
13장 디바이스 드라이버(Device Driver) 개발 ... 403
   01 디바이스 드라이버의 기본 구조 ... 404
   02 디바이스 드라이버 로딩하기 ... 418
   03 디바이스 드라이버에 명령 보내기 ... 421
14장 보안을 고려한 개발 ... 425
   01 보안의 필요성 ... 426
   02 씬 클라이언트(Thin Client) ... 428
   03 디버그 코드(Debug Code) ... 429
   04 함수 명명(Function Naming) ... 430
   05 설정 및 UI(User Interface) ... 432
   06 데이터(Data) ... 433
   07 문자열 ... 435
부록 주요 디버거(Debugger) 소개 ... 437
   01 WinDbg ... 438
   02 OllyDbg ... 445
   03 IDA ... 448
   04 SoftIce ... 451
닫기