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

한빛미디어

독자리뷰

아주 좋은 책.

Benjamin***

|

2010-02-14

Windows 시스템 실행파일의 구조와 원리

이 책이 다루는 정확한 영역은 우리가 보통 애플리케이션이라고 부르는 EXE 파일과 EXE 실행시에 함께 로드되는 동적 라이브러리인 DLL의 구조와 포맷 분야이다. 각 구조에 대한 상세한 설명뿐만 아니라 예제 덤프를 통해 생생하게 그 구조를 파악하게끔 구성하고 있다.

  • 저자 : 이호동
  • 출간 : 2005-05-25
이 책은 PE(Portable Executable)라고도 불리우는 윈도우즈 실행 파일의 내부 구조에 대해서 다룬다.
EXE, DLL, OCX, SYS, DRV 확장자들로 된 파일들이 모두 PE파일이다.

이런 파일들이 실행되는 순간에 메모리에 어떻게 매핑되고 그 자료구조는 어떻게 구성되는지를 하나 하나 따라가면서 친절하게 설명해준다.

이 책을 읽기 전에 제프리리처의 Windows Via C/C++ 중

13장 윈도우 메모리의 구조
14장 가상 메모리 살펴보기
17장 메모리 맵 파일
19장 DLL의 기본
20장 DLL의 고급 기법

부분을 읽어보는 것이 이 책을 이해하는데 많은 도움이 된다.

처음에는 헥사코드를 하나씩 따라가면서 정독해서 읽었는데, 관련 구조체들이 다 비슷비슷 하게 구성되어 있어서 중간쯤 부터는 그런 부분들을 제껴가면서 조금 더 편하게 읽었다.

개인적으로 DLL의 내부에 대해서 많은 것을 얻을 수 있어서 좋았고, 또 리소스에 대해서는 거의 아는 것이 없었는데, 이 부분을 많이 다루어 주어서 특히 좋았다.

이 책의 단점을 꼽자면, 그림이나 코드들이 보기에 너무 조잡하다는 것이다.
그리고 느낌표나 말줄임표를 잔뜩 붙여놓은 문장들이 곳곳에서 보이는데, 이는 잘 정제되지 못한 글의 느낌을 받게 한다. 마치 인터넷에 써서 올렸던 글을 추려서 책으로 낸듯이 말이다.
저자는 프로그래머이지 글쟁이가 아니므로 이런 것들은 출판사에서 신경을 써준다면 좋을 것 같다.

비슷한 경우로 김상형의 Windows API 정복이라는 명서가 있는데, 나는 이 책을 국내에서 출판된 가장 잘 쓰여진 프로그래밍 책이라고 생각하지만, 책 안의 그림들이 참 조잡하다.
이 책은 가남사에서 출판되었다가 한빛미디어에서 개정되었는데, 그림들이나 표는 그대로 옮긴 것 같다.

저자가 그린 그림을 제출하면 편집없이 그대로 실는 것 같은 느낌인데, 만약 정말 그렇다면 앞으로는 그렇게하지 않았으면 좋겠다.
오라일리 같은 출판사에서 발행하는 책들은 그림이나 표가 참 이쁘게 그려져있다. 그 책을 쓰는 저자들이 모두 그림을 잘 그려서 그런 것은 아닐 것이다.

출판사에 바라는 점을 몇 가지 정리하면 다음과 같다.
1. 코드 조각은 회색 박스로 둘러싼다.
2. 코드 폰트는 고정폭 폰트를 쓴다.(그리고 제발 좀 이쁜 폰트로)
3. 지저분한 그림이나 표는 예쁘게 다시 그린다.

쓰다보니 단점의 내용이 길어져 버렸는데, 이 책은 정말 좋은 책이다.
이런 지식을 얻으려면, Matt Pietrek이 쓴 다음과 같은 글들을 눈 빠지게 읽어야 하는데
보기만해도 질려버린다.

Peering Inside the PE: A Tour of the Win32 Portable Executable File Format

An In-Depth Look into the Win32 Portable Executable File Format

An In-Depth Look into the Win32 Portable Executable File Format, Part 2

이미 이 책의 저자가 다 공부해서 한글로 써주었으니 참 고마울 뿐이다.

이 책이 개정판이 또 나올 것 같지는 않지만 혹시 개정된다면, 위에서 말한 부분들의 교정과 함께 64bit PE나 Managed PE에 대해서도 살짝 다루어주면 좋겠다.
닫기

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