구)홈페이지 오탈자 보기
Windows 시스템 실행파일의 구조와 원리

 

페이지오탈자 내용등록일
22

((p 22) 2번째 문단 열일곱째중)

MessageBox(Null, Window Creation Failure!!!",
==>
MessageBox(Null, "Window Creation Failure!!!",

2006-10-251
25

((p.25) 세번째 문단 첫째줄)

PE 포맷의 시작은 IMGAE_NT_HEADERS라는 구조체의 헤더로 표현된다.
==>
PE 포맷의 시작은 IMAGE_NT_HEADERS라는 구조체의 헤더로 표현된다.

2006-10-251
26

(p. 26 [그림 1-3])

그림 맨 아래의 IMAGE_DOS_HEADER의 크기가 40byte로
적혀 있는데 p. 53쪽의 구조체의 크기를 보면 64byte더군요.
아마도 16진수로 40과 10진수 64를 했갈려서 적으신것 같아요.
하지만 나머지 구조체의 크기는 다 맞더군요.
==>
확인중

2006-10-251
56

((p.56) 세번째 문단 제목)

2.2.1 DWOD Signature
==>
DWORD Signature

2006-10-251
70

(Page 70)

메모리 페이지의 크기가 4K이기 때문에 0x100이 된다.
                                                     ^^^^^^

0x100 -> 0x1000
으로 바꾸어야 할 거 같습니다.

마찬가지고 밑에 FileAlignment에도 동일한 오탈자가 있는 거 같네요.
==>
검토 중

2006-10-251
285

(p.85 표 2-7)

표 2-7에서

IMAGE_DIRECTORY_ENTRY_IMPORT 의 VirtualAddress가
0x0002B200 => 0x0002B000  

2007-07-021
90

(page 90 - 4번째 문단)

(9) WORD PointerToLinenumbers

를 아래와 같이 수정하여야 합니다.

(9) WORD NumberOfLinenumbers
==>
검토중

2006-10-251
116

(116 밑에서 위로 6~7줄)

"eax + 3784h" 가 "ebx + 3784h"가 되어야 함

또 그 밑에줄 "eax 레스스트리" 가 "eax 레지스터"가 되어야함
==>
확인중

2006-10-251
116

(Page 116 셋째 문단 세번째줄)

"eax+3784"에서 eax가 ebx로 바뀌어야 할 거 같습니다.
==>
확인중

2006-10-251
117

(117 표 3-7 마지막 행)

마지막 행 설명에 보면
"32비트 즉치 값(imm8)을" 에서 imm32로 바껴야 될꺼 같습니다.
==>
확인중

2006-10-251
134

(Page134)

주소를 표시하는데 전반적으로 오류가 있는 것 같습니다.
==>
확인중

2006-10-251
184

(page 184 ~ 187 의 덤프)

page 184 에 [덤프 4-4]가 있고 page 187 에 [덤프 4-4] 가 또 있습니다. 동일한 덤프 번호가 적혀 있군요.

오탈자 때문에 근질근질 거렸는데.. 이렇게 오탈자 등록 페이지가 있어서 좋네요. 앞으로도 좋은 책 많이 부탁드립니다.

수고하세용~ *^^*
==>
검토중

2006-10-251
189

(page 189 - 하단 그림)

하단 그림에 "(1) IMAGE_EXPORT_DESCRIPTION 구조체" 란 문자열을 아래와 같이 수정하여야 합니다.

(1) IMAGE_EXPORT_DIRECTORY 구조체
==>
검토중

2006-10-251
239

(239 쪽 표 5-1 Virtual Address의 값)

표 5-1은 임포트 섹션의 IMAGE_SECTION_HEADER 필드의 값을 나열해 놓은 것입니다. 그런데 표 5-1의 항목중 Virtual Address의 값이 0x00020c00으로 되어있는데 이것은 덤프된 이미지와도, 다음 페이지에 언급되어있는 IMAGE_DATA_DIRECTORY에서 얻어낸 RVA값과도 다릅니다. 0x0002c000으로 수정되어야 맞습니다.
==>
확인중

2006-10-251
406

(p406 부터 p409)

IMAGE_RESOURCE_DIRECTORY_ENTRY 구조체의
NameIsString 비트필드와, DataIsDirectory 비트필드의 의미에
대한 설명이 둘다 틀렸습니다.
각 필드의 의미를 설명하는 곳에서
0은 1로 바뀌고, 1은 0으로 바꿔야 합니다.
처음에 책을 읽다가, 필드의 이름이 설명과 안 맞는다고
생각했는데, WinNT.h 파일의 주석 설명을 보니까, 책이 틀렸다는게
확인 됬습니다.

제가 구체적으로 틀린 곳을 지적하면,
p406 아래쪽 표에서 NameIsString은 위아래의 0과1이 서로 바꿈
p407 2째줄의 0은 1로...
p409 위쪽의 표에서 DataIsDirectory는 위아래 0과1을 서로 바꿈
==>
확인 중입니다.

2006-10-251
449

(page 449)

마지막 문단의 설명에서 cdit의 멤버 필드의 값은 4가 아니라 5가 되어야 할 것 같습니다, 그리고 이후의 설명에서도 네 개의 자식 컨트롤이 아니라 다섯 개의 자식 컨트롤이 되어야 할 것 같습니다.
==>
확인중

2006-10-251
482

(p. 482 (1))

biBitCount 가 1비트일 때요..

만약에 pBIH->biWidth가 39 라면..

39비트가 필요하므로, 4바이트 정렬을 생각한다면,

4.xx 바이트니까 lStorateWidth가 8바이트가 나와야 하는 거

아닌가요? 근데, 12바이트가 나오네요..

제가 책 내용을 잘못 이해했나요?

답변 부탁드려요. kkscom@netian.com
==>
확인중

2006-10-251