나에게 필요한 지식과 기술을 검색해 보세요.

리버스 엔지니어링 2권(디버거 편)

윈도우 실행 파일 구조와 원리로 배우는

지은이

이호동

출간일

2017.05.09

레벨

중고급

평점

4.5(6명)

정가

49,000

총 결제 금액

49,000

전자책 사용 안내

전자책은 웹뷰어와 한빛+ 앱에서 열람할 수 있으며 PDF 다운로드는 지원되지 않습니다.

쪽수

1396P

ISBN

9788968483639

브랜드

한빛미디어

리버스 엔지니어라면 반드시 소장해야 할 최고 명저의 재래 

리버스 엔지니어링을 진수! 디버거 제작에 도전하라! 

 

이 책은 PE 파일 포맷을 완벽하게 분석하여 리버스 엔지니어 필독서로 꼽히던 『Windows 시스템 실행 파일의 구조와 원리』의 확장 개정판이다. 총 2권 구성으로 1권에서는 64비트 PE+의 각 세션에 대해 알아본다. 2권은 1권에서 미처 다루지 못한 PE 세션을 알아보고, 디버거를 만들면서 악성 코드 침투에 대응하는 메모리 침투 방법을 다룬다. 이론과 실전 기법 모두를 제공하는 리버스 엔지니어링 최고의 바이블이다.

 

* 이 책은 전 2권 세트 중 2권으로 11장에서 21장까지 내용을 다룹니다. 1권(1장~10장)은 별매입니다.

 

undefined

 

 

 

출판사 리뷰

★ 윈도우 EXE, DLL, SYS 파일 구조 완벽 분석과 디버거 실전 개발까지!

EXE, DLL, SYS 파일 등의 PE 파일 포맷과, 고급 디버깅 또는 리버스 엔지니어링에 관심이 있는 독자를 대상으로 한다. 총 두 권 구성으로 PE 파일의 구조뿐만 아니라 코드의 구성, 디버거 구현의 원리, 리버스 엔지니어링 기법을 다룬다.

 

_1권 파일 구조 편

『Windows 시스템 실행 파일의 구조와 원리』의 개정판이라고 할 수 있으며, 거기에서 다루지 않았던 PE 파일의 섹션까지 포함하여 64비트 윈도우 실행 파일을 중심으로 설명한다. 총 3부로 구성되어 있으며, 윈도우 실행 파일의 헤더 및 텍스트, 데이터, 내보내기, 가져오기, 지연 로드 섹션 그리고 TLS 섹션, 리소스 섹션 등을 자세히 다룬다.

 

*1부 PE 입문 : PE 구조의 전반적인 이해를 위한 개괄적인 내용을 다룬다.

*2부 DLL과 PE : DLL 작성 및 로딩과 관련된 PE 파일에 대한 분석 내용을 다룬다.

*3부 나머지 PE 섹션 : 리소스 섹션을 포함하여 검토할 만한 기타 PE 섹션을 설명한다.

 

 

_2권 디버거 편

PE의 관점에서 본 리버스 엔지니어링에 초점을 맞추어 간단한 디버깅 툴의 구현을 목적으로 한다. 총 3부로 구성되어 있으며 32비트와 64비트 함수의 구조, 코드 디스어셈블, 디버그 섹션 및 PDB 파일 활용법, 윈도우 32비트 및 64비트 구조적 예외 처리와 64비트 함수 분석에 매우 중요한 역할을 하는 .pdata 섹션 등을 다룬다. 또한 악성 코드의 메모리 침투에 대응하는 메모리 보호 방법과 윈도우 기반의 간단한 디버깅 툴 구현을 소개한다.

 

*4부 코드 분석 : 디스어셈블러 구현을 위해 PE 코드 섹션의 구조를 상세히 다룬다.

*5부 예외 처리 : 디스어셈블러 구현의 중요 요소인 구조체 예외 처리 및 보안 기능을 알아본다.

*6부 디버거 구현 : 디버거 구현 원리를 설명하고 실제 간단한 디버거를 구현한다.

 

★ 이 책의 독자

이 책은 고급 디버깅, 리버스 엔지니어링에 관심이 있는 독자를 대상으로 한다. 다소 깊이 있는 주제임을 고려하여 가능한 한 쉽게 설명하고자 많은 예제 덤프와 그림을 제시하였다. 따라서 위에서 언급한 내용에 관심이 있고, C/C++ 언어에 익숙하고, 윈도우 시스템에 대한 어느 정도 배경지식을 갖춘 독자라면, 이 책을 통해서 PE 파일의 구조뿐만 아니라 코드의 구성과 디버거 구현 원리, 리버스 엔지니어링을 이해하게 될 것이다.

저자

목차

[4부 코드 분석]

 

11장 어셈블리 언어 개요

__11.1 CPU 개요

__11.2 어셈블리 둘러 보기

 

12장 코드 섹션과 함수

__12.1 32비트에서의 함수

__12.2 64비트에서의 함수

 

13장 코드 섹션 디스어셈블링

__13.1 명령 포맷

__13.2 OP 코드 상세

__13.3 디스어셈블러 구현

__13.4 코드 섹션 함수 구성

 

14장 디버그 섹션과 PDB

__14.1 디버그 섹션

__14.2 PDB 분석

__14.3 PDB와 PE

 

[5부 예외 처리]

 

15장 구조적 예외 처리(SEH)

__15.1 SEH의 개요

__15.2 종료 처리

__15.3 예외 처리

__15.4 처리되지 않은 예외

__15.5 C++와 SEH

 

16장 32비트 SEH

__16.1 Win32에서의 SEH 구조

__16.2 컴파일러 레벨의 SEH 

__16.3 C++ 예외 핸들러 

 

17장 함수, 예외와 .pdata 섹션

__17.1 .pdata 섹션

__17.2 해제 정보

__17.3 예외/종료 핸들러 정보

 

18장 64비트 SEH

__18.1 함수 호출 스택과 해제 처리

__18.2 SEH 관련 64비트 전용 API

__18.3 64비트 SEH 처리 과정

 

19장 메모리 보호

__19.1 스택 오버플로 공격과 GS

__19.2 다양한 메모리 보호 방식

 

[6부 디버거 구현]

 

20장 디버거 기본

__20.1 디버깅 작동 원리

__20.2 디버거 PE Frontier 구성

 

21장 디버거 심화

__21.1 중단점 설정

__21.2 디버거 PE Frontier 심화

리뷰

전체 평점

4.5

오탈자

등록된 오탈자가 없어요

오탈자를 발견하셨다면 작성해주세요.

49,000

49,000