본문 바로가기

추천 검색어

실시간 인기 검색어

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

리버스 엔지니어링. 1: 파일 구조 편

IT Expert
이호동 지음
한빛미디어

2016년 11월 18일 출간

종이책 : 2016년 10월 01일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (26.17MB)
ISBN 9788968483134
쪽수 848쪽
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

PDF 필기 Android 가능 (iOS예정)
소득공제
소장
정가 : 42,000원

쿠폰적용가 37,800

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원
시리즈 전체 2
리버스 엔지니어링. 2: 디버거 편
49,000
리버스 엔지니어링. 1: 파일 구조 편
42,000

작품소개

이 상품이 속한 분야

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

01장 윈도우 실행 파일 ? PE의 구조
_1.1 PE 파일 소개
___1.1.1 왜 PE 파일인가?
___1.1.2 PE+란 무엇인가?
_1.2 PE 파일의 전체 구조
_1.3 PE 분석을 위한 개념
___1.3.1 RVA와 섹션
___1.3.2 가상 주소 공간과의 관계
_1.4 PE 분석 툴과 프로젝트 소개
___1.4.1 PE 분석 툴 소개
___1.4.2 구현할 프로젝트 소개

02장 PE 파일 헤더
_2.1 IMAGE_DOS_HEADER 구조와 DOS 스텁
_2.2 IMAGE_NT_HEADERS 구조
___2.2.1 DWOD Signature
___2.2.2 IMAGE_FILE_HEADER 구조
___2.2.3 IMAGE_OPTIONAL_HEADER 구조
_2.3 섹션 헤더와 데이터 디렉터리
___2.3.1 IMAGE_DATA_DIRECTORY 구조체 배열
___2.3.2 IMAGE_SECTION_HEADER
___2.3.3 RVA, 데이터 디렉터리와 섹션 헤더
_2.4 PE Explorer 프로젝트 구조
___2.4.1 PE 구조체 XML 스키마
___2.4.2 PEAnals 클래스
___2.4.3 프로젝트 PE Explorer의 구조

03장 코드와 데이터 섹션
_3.1 프로그램 메모리 구조
_3.2 코드 섹션
___3.2.1 코드 섹션에 대하여
___3.2.2 ImageBase, AddressOfEntryPoint, 그리고 프로그램의 시작
___3.2.3 증분 링크
_3.3 데이터 섹션
___3.3.1 .data 섹션
___3.3.2 .rdata 섹션
_3.4 런타임 시작 함수와 전역 초기화
___3.4.1 C/C++ 런타임 시작 함수 WinMainCRTStartup
___3.4.2 초기화 콜백 함수 호출
___3.4.3 프로그램 종료 처리

04장 기준 재배치 섹션
_4.1 기준 재배치의 의미와 과정
_4.2 기준 재배치 섹션의 구조
___4.2.1 IMAGE_BASE_RELOCATION과 TypeOffset 배열
___4.2.2 .reloc 섹션 분석
___4.2.3 64비트의 .reloc 섹션
_4.3 기준 재배치를 위한 코드
___4.3.1 기준 재배치 의사 코드
___4.3.2 PE Explorer에서의 기준 재배치 섹션 처리
_4.4 기준 재배치 고려사항
___4.4.1 32비트에서의 기준 재배치
___4.4.2 64비트에서의 기준 재배치

[2부 DLL과 PE]

05장 DLL 생성과 내보내기 섹션
_5.1 DLL의 생성
___5.1.1 함수/변수 내보내기
___5.1.2 내보내기 이름 데코레이션의 문제
_5.2 내보내기 섹션
___5.2.1 IMAGE_EXPORT_DIRECTORY 구조체
___5.2.2 내보내기 섹션 구조
_5.3 DllMain의 사용
_5.4 함수 포워딩 및 NONAME, PRIVATE 내보내기
___5.4.1 DLL 함수 포워딩
___5.4.2 PRIVATE와 NONAME 함수
_5.5 내보내기 섹션 분석 코드

06장 DLL 로딩과 가져오기 섹션
_6.1 DLL의 사용
___6.1.1 암시적 로딩
___6.1.2 명시적 로딩
_6.2 가져오기 섹션
___6.2.1 IMPORT 엔트리
___6.2.2 IAT 엔트리
___6.2.3 DLL 선(先) 바인딩
_6.3 가져오기 섹션 분석 코드
___6.3.1 IMPORT 엔트리 분석
___6.3.2 IAT 엔트리 분석
___6.3.3 BOUND_IMPORT 엔트리 분석
_6.4 API 후킹
___6.4.1 후킹 DLL 구현
___6.4.2 DLL 주입기 작성
___6.4.3 DLL 후킹 테스트

07장 DLL 지연 로드 섹션
_7.1 DLL 지연 로드
___7.1.1 지연 로드의 사용
___7.1.2 DLL 언로드 및 바운드 해제
___7.1.3 예외 처리
___7.1.4 지연 로드 훅 설정
_7.2 지연 로드 섹션
___7.2.1 ImgDelayDescr 구조체
___7.2.2 DLL 지연 로드 과정
___7.3 지연 로드 섹션 분석 코드

[3부 나머지 PE 섹션]

08장 TLS, 로드 환경 설정, 보안 및 사용자 정의 섹션
_8.1 TLS와 .tls 섹션
___8.1.1 동적 TLS
___8.1.2 정적 TLS와 섹션
___8.1.3 TLS 관련 분석 코드
_8.2 사용자 정의 섹션
___8.2.1 섹션 지정 관련 #pragma
___8.2.2 사용자 정의 섹션 예
___8.2.3 DLL 데이터 공유
___8.2.4 생성자 지연 호출
_8.3 로드 환경 설정
___8.3.1 IMAGE_LOAD_CONFIG_DIRECTORY
___8.3.2 로드 환경 설정 확인
_8.4 보안 디렉터리
___8.4.1 속성 인증서 엔트리 구조
___8.4.2 PKCS#7 디지털 서명 확인하기
___8.4.3 무결성 체크 관련 요소
_8.5 .NET 런타임 헤더

09장 리소스 섹션
_9.1 리소스
_9.2 리소스 섹션 구조
___9.2.1 IMAGE_RESOURCE_XXXX 구조체
___9.2.2 디렉터리 엔트리의 3단계 구조
_9.3 DlgApp.exe의 리소스 섹션 분석
___9.3.1 루트 RES_DIR
___9.3.2 아이콘 타입 RES_DIR
___9.3.3 대화상자 타입 RES_DIR
___9.3.4 그룹 아이콘 타입 RES_DIR
_9.4 리소스 섹션 분석 코드
___9.4.1 FindResource 함수의 구현
___9.4.2 PE Explorer의 리소스 섹션 분석

10장 리소스 섹션의 개별 리소스
_10.1 샘플 리소스 제작
_10.2 커서, 아이콘 & 비트맵
___10.2.1 비트맵의 구조
___10.2.2 아이콘과 그룹 아이콘
___10.2.3 커서와 그룹 커서
___10.2.4 아이콘, 커서, 비트맵 추출기
_10.3 메뉴, 단축키, 문자열 테이블
___10.3.1 메뉴 리소스
___10.3.2 단축키 테이블
___10.3.3 문자열 테이블
_10.4 대화상자
___10.4.1 대화상자 템플릿 분석
___10.4.2 대화상자 항목 템플릿 분석
_10.5 나머지 리소스
_

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

작가정보

저자(글) 이호동

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

저서_ 『Windows 시스템 실행 파일의 구조와 원리』
저서_ 『IT EXPERT 윈도우 시스템 프로그램을 구현하는 기술』

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    리버스 엔지니어링 시리즈 신간 알림이 신청되었습니다.
    신간 알림 안내
    리버스 엔지니어링 시리즈 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    윈도우 실행 파일 구조와 원리로 배우는 리버스 엔지니어링. 1: 파일 구조 편
    저자 모두보기
    저자(글)
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)