메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

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

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

한빛미디어

집필서

판매중

  • 저자 : 이호동
  • 출간 : 2017-03-01
  • 페이지 : 1396 쪽
  • ISBN : 9788968484810
  • 물류코드 :2481
초급 초중급 중급 중고급 고급
5점 (1명)
좋아요 : 1

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

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

 

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

 

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

 

undefined

 

 

 

저자

이호동

연세대 전자공학과를 졸업했지만 학창시절 C와 어셈블리어에 빠진 이후 계속 소프트웨어 개발자의 길을 걷고 있다. 학창시절 IT 환경이 무르익기 전부터 IT 월간지에 기사를 연재하면서 정보 공유와 집필 욕구를 키웠다. 16년간의 직장 생활에서 경험한 대용량 서버 사이드 개발, 클라이언트 보안 및 디바이스 드라이버 개발 등을 바탕으로 오랫동안 연구하고 학습하여 고급 개발 영역에서 꼭 필요한 분야를 집필하게 되었다.
주로 어셈블리, C/C++, COM, C#, JAVA를 다루며, 현재는 ㈜허니냅스에서 S/W 개발 팀장으로 생체 신호 관련 임베디드 리눅스 S/W 및 서버 개발을 담당하고 있다.
 
저서_ 『Windows 시스템 실행 파일의 구조와 원리』
저서_ 『IT EXPERT 윈도우 시스템 프로그램을 구현하는 기술』

[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 심화

★ 윈도우 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 파일의 구조뿐만 아니라 코드의 구성과 디버거 구현 원리, 리버스 엔지니어링을 이해하게 될 것이다.

  • 리뷰자 김종욱

     

    B7638826095_l.jpg

     

    클로버 리버스 엔지니어링 - 디버거 편

    이호동 지음

     

     본 서는 상당한 두께를 자랑하지만 그만큼 알찬 내용들로 가득차있는 책이다. 더욱이 Windows 시스템 실행 파일의 구조를 자세히 설명함으로써 윈도우 시스템의 구동 방식은 물론, 시스템 실행 파일이 어떤식으로 동작하는지에 대해서 굉장히 잘 술해져있는 책이다. 과히 컴퓨터 계의 명서라 해도 될 것이다. 이러한 본 리버스 엔지니어링 시리즈 중 2번째 책인 디버거 편은 본 서를 읽는 독자가 직접 디버거를 만들어 가면서 실습할 수 있는 환경을 제공해주는 말로다 표현 할 수 없는 훌륭한 도서이다. 따라서 윈도우 프로그래밍을 입문하고 자 하는 사람이라면 반드시 한번 쯤은 정독해 보길 권한다. 만약 마스터의 길을 가고 싶다면, 수십번 다독할 것을 권한다.


    책의 리뷰를 본격적으로 하기에 앞서 어떤 사람들이 본 서적을 읽으면 좋을지 적어보도록 하겠다.

     


    【어떤 독자를 위한 책인가

     

      이 책은 입문자들이 읽기에는 꾀나 어려운 지식들이 있다. 물론 저자가 최대한 자세히 설명하려 하였으나, 본 블로거의 지극히 개인적인 생각으로는 자료구조, 알고리즘, 그리고 리버싱 엔지니어링과 디버깅 방법론과 같은 기초 지식들을 어느정도 쌓은 사람이 읽어야 학습효과가 확실할 것이란 생각이 들었다. 본 블로거의 경우 본 서를 받고 1주일 정도에 걸쳐 1회 독 하고, 틈틈히 쳅터별로 궁금한 내용이 있으면 참조하는 형태로 학습하고 있다. 그럼에도 학습할 양이 무궁무진한 만큼, 기초지식이 없는 독자가 읽기에는 장벽이 있는 도서라 생각된다.

        

    【책의 구성】 '리버스 엔지니어링 - 디버거편책의 구성은 어떠한가.


    망치 본 서는 1권에 이어 2권에 못다한 챕터 내용을 출간한 책이다. 따라서 총21장으로 구성되어있는 책 중에서 본 서에서는 11~21장에걸친 내용들을 다루고 있다. 처음에는 디스 어셈블에 필요한 어셈 코드를 위해서 CPU 와 어셈과 같은 기초 지식들을 다루고, 그 이후에 코드 섹션에 관한 함수, 이에 대한 디스어셈블링 방법, PDB에 관한 설명과 SEH에 대한 설명, 메모리 보호 최종적으로 디버거 구현으로 서가 구성되어 있다. 각 챕터에 대한 자세한 내용은 다음과 같으며 저자가 설명과 함께 구체적인 소스코드를 전부 기제해 두었기 때문에 금방 이해할 수 있는 구조로 되어있다. 거의 대부분의 책들은 단순 글로만 설명하는 경향이 있었는데, 본 서는 그러한 한계점을 과감히 극복해냈다고 볼 수 있었다. 따라서 코드에 대한 울렁증, 어떻게 구현해야할지 막막하여 디버거 쪽은 손도 못대보신 분들이라면 꼭 본 서를 읽어보시길 권한다.


    > 책 목록

    [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 심화

     


    【리버스 엔지니어링 - 디버거편을 읽으며…….】

     프로그래밍에 있어서 가장 중요한 것은 자신이 만든 프로그램을 잘 디버깅 할 줄 아냐이다. 왜냐하면 자신이 만든 서비스를 타인에게 제공하는데 있어서 어디가 문제점이고, 어느 부분에서 버그가 발생했는지 찾지 못한다면 그것은 서비스의 실패로 이어지고, 이로 인해 해당 회사의 신용은 바닥으로 곤두박질 치는 것은 불보듯 뻔하기 때문이다. 따라서 본 블로그 글을 읽는 프로그래머 분들이 있다면 리버싱, 디스어셈블리를 꼭 배워 보다 전문화된 프로그래머가 되길 바란다.



     

    【점수…….】

    구성 : ★★★★☆ 내용:★★★★☆  디자인: ★★★★☆ 전문성 : ★★


    #본 리뷰는 리뷰자 김종욱의 저작권에 귀속되므로 참고시 참고 URL과 명시를 저작자에게 알려주시길 바랍니다.

    #본 리뷰의 점수 및 평가 내용은 김종욱 리뷰자의 한정된 것이므로 확정된 답이 안임을 명시합니다.

    #학습과 관련된 질문과 문제에 대한 질문은 일절 받지 않습니다. 스스로 찾아서 학습하는 것 그것이야 말로 진정한 학습자입니다. 



    ######  감사합니다  ######  

부록/예제소스
자료명 등록일 다운로드
예제소스 2017-03-16 다운로드
결재하기
배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
리버스 엔지니어링 2권(디버거 편)
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
리버스 엔지니어링 2권(디버거 편)
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
리버스 엔지니어링 2권(디버거 편)
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실