Top

(개정판) 해킹: 공격의 예술

  • 원서명Hacking: The Art of Exploitation, 2nd Edition (ISBN 9781593271442)
  • 지은이존 에릭슨(Jon Erickson)
  • 옮긴이장재현, 강유
  • ISBN : 9788960771260
  • 30,000원
  • 2010년 03월 19일 펴냄
  • 페이퍼백 | 676쪽 | 188*245mm
  • 시리즈 : acorn classics, 해킹과 보안

책 소개

프로그래밍에서부터 공격 가능한 기계어 코드까지 해킹에 필요한 모든 것을 다룸으로써 해킹의 세계를 좀 더 쉽게 이해할 수 있도록 해킹의 예술과 과학을 설파한 책. 해킹을 공부하고 싶지만 어디서부터 시작해야 할지 모르는 초보 해커들에게 해킹의 진수를 알려주는 한편, 실제 코드와 해킹 기법, 동작 원리에 대한 설명이 가득한 간결하고 현실적인 해킹 가이드다. 기본적인 C 프로그래밍에서부터 기본 공격 기법, 네트워크 공격, 셸코드 공격과 그에 대한 대응책까지 해킹의 거의 모든 부분을 다룬다.


[ 소개 ]

진정한 해킹을 위한 핵심 기술

해킹은 어려운 문제에 대한 새로운 해결책을 찾거나 조잡한 프로그램의 보안 취약점을 찾는 등의 창조적인 문제를 해결하는 예술이다. 많은 사람이 자신이 해커라고 생각하지만 최고의 해커가 되는 데 필요한 핵심 기술을 갖고 있는 사람은 거의 없다.

이 책의 저자 존 에릭슨은 현존하는 공격 기법의 실행을 단순히 보여주는 데 그치지 않고 비밀스러운 해킹 기법이 실제로 어떻게 동작하는지 설명한다. 해킹의 예술과 과학을 모두와 공유하기 위해, 이 책 『(개정판) 해킹: 공격의 예술』은 해커의 관점으로 C 프로그래밍의 핵심을 소개한다.

책에 포함된 라이브CD에는 리눅스 프로그래밍, 디버깅 환경이 완벽히 갖춰져 있다. 사용 중인 운영체제의 수정이나 변경 없이 사용할 수 있다. CD에 있는 예제를 따라 해보면서 해킹 기법을 자신의 것으로 만들 수 있을 것이다. 직접 코드를 디버깅해보고, 버퍼 오버플로우, 네트워크 통신 하이재킹, 보호기법 우회도 해보고, 암호학적 취약점을 공격하거나, 심지어 새로운 공격 기법을 개발해볼 수도 있다.

해커는 항상 앞으로 나아가야 하며, 미지의 것을 조사하고, 해커의 예술을 진화시켜야 한다. 프로그래밍을 잘 모르더라도, 『(개정판) 해킹: 공격의 예술』이 프로그래밍의 이해, 기계 아키텍처, 네트워크 통신 등의 현존하는 해킹 기법을 알려줄 것이다. 라이브CD의 리눅스 환경에서 책에서 배운 내용을 직접 실현해볼 수 있다. 이제, 창의력만 있으면 된다.


[ 이 책에서 다루는 내용 ]

■ C, 어셈블리, 셸 스크립트를 이용한 프로그래밍
■ 버퍼 오버플로우와 포맷 스트링을 이용해 임의 코드 실행을 위한 시스템 메모리 공격
■ 실제 동작의 이해를 위해 디버거를 이용한 프로세서 레지스터와 시스템 메모리 조사
■ 실행 불가능 스택과 침입 탐지 시스템 같은 똑똑한 보안 대응책
■ 포트 바인딩이나 커넥트백 셸 코드를 이용한 원격 서버 접근, 서버 로그를 바꿔 흔적 숨기기
■ 네트워크 트래픽 리다이렉트, 열린 포트 숨기기, TCP 연결 하이재킹
■ FMS 공격으로 암호화된 무선 트래픽 크랙, 비밀번호 확률 매트릭스를 이용한 빠른 전수 조사 공격


[ 부록 CD ]

부록으로 수록된 부팅 가능한 라이브CD는 리눅스 기반의 해킹 환경을 갖추고 있고, 프로그래밍, 디버깅, 네트워크 트래픽 조작, 암호화 크랙을 위한 설정을 이미 해놨다. 또한 이 책에서 사용한 모든 소스코드와 애플리케이션 등도 들어있다. 해킹은 발견과 혁신에 관한 것으로, 부록 라이브CD를 이용해 자신만의 공격을 해볼 수 있다.

부록 라이브CD는 대부분의 PC에서 운영체제를 새로 설치하거나 컴퓨터 설정을 변경하지 않고도 사용할 수 있다. 시스템 요구 사항은 x86 기반 PC, 최소 64MB 메모리이고, BIOS 설정에서 CD-ROM으로 부팅할 수 있도록 해놓기만 하면 된다.


[ 1판에 쏟아진 찬사 ]

해킹 기법에 관한 가장 완벽한 튜토리얼이다. 이 책은 단순한 공격 기법의 사용 방법뿐만 아니라, 개발할 수 있는 방법까지 알려준다.
- PHRACK

지금까지의 모든 책 중에 가장 중요한 해커 핸드북이라 평가할 수밖에 없는 책이다.
- 시큐리티 포럼(SECURITY FORUMS)

프로그래밍 기술서로서도 빛을 발하는 책
- 유닉스 리뷰(UNIX REVIEW)

강력히 추천하는 책이다. 이 책의 저자는 분명 유용한 코드, 툴, 예제를 이용해 의도하는 바를 잘 말하는 사람이다.
- IEEE CIPHER

초보 해커를 위한 간결하고 현실적인 가이드인 이 책에는 실제 코드와 해킹 기법, 동작 원리에 대한 설명이 가득하다.
- 컴퓨터 파워 유저 매거진(COMPUTER POWER USER (CPU) MAGAZINE)

단연 최고다. 다음 단계로 넘어날 준비가 된 사람이라면 이 책을 들고 철저히 읽어야 한다.
- ABOUT.COM 인터넷/네트워크 보안

저자/역자 소개

[ 저자 서문 ]

이 책의 목표는 많은 사람과 해킹의 미학을 공유하는 것이다. 해킹을 하려면 넓고 깊은 지식이 필요하므로 해킹 기법을 이해하는 것은 꽤나 어렵다. 대부분 해킹 서적을 읽어봐도 해킹에 필요한 선행 지식을 다루지 않기 때문에 난해하고 복잡할 뿐이다. 그래서 『(개정판) 해킹: 공격의 예술』에서는 프로그래밍에서부터 공격 가능한 기계어 코드까지 해킹에 필요한 모든 것을 다룸으로써 해킹의 세계를 좀 더 쉽게 이해할 수 있게 했다. 그리고 부록으로 우분투Ubuntu 리눅스 기반의 부팅 가능한 라이브CD를 수록했다. 컴퓨터에 설치된 기존 운영체제의 수정 없이 어떤 x86 프로세서에서든 사용할 수 있다. 이 CD는 책에 있는 모든 소스코드를 포함하고, 책의 예제와 실험을 그대로 따라할 수 있는 개발 환경을 제공한다.


[ 저자 소개 ]

존 에릭슨 (Jon Erickson)
컴퓨터 과학을 전공했으며 5살 때부터 해킹과 프로그래밍을 해왔다. 컴퓨터 보안 컨퍼런스에서 자주 발표하고, 세계 각국을 돌면서 보안 관련 교육을 한다. 현재는 북 캘리포니아에서 취약점 연구원 겸 보안 전문가로 일하고 있다.


[ 옮긴이의 말 ]

요즘 해킹이라는 용어를 여기저기에서 자주 들을 수 있다. 트위터 계정 해킹, 스마트폰 해킹, 인터넷 뱅킹 해킹, 온라인 게임 머니 해킹 등 해킹이라는 용어는 다양한 곳에서 쓰인다. 컴퓨터 전문가가 아니더라도 해킹이라는 얘기를 한 번 이상은 들어봤을 것이다. 그래서 많은 사람이 해킹에 관심을 갖고 있다. 그런데 방금 이야기한 예에서도 그렇듯 사회적으로 해킹이라는 용어는 나쁜 의미를 내포한다. 즉, 범죄, 악용이라는 단어가 연상된다. 하지만 이 책의 본문에서도 설명하듯이 해킹이 반드시 나쁜 ‘범법 행위’인 것만은 아니다. 현재는 사회적으로 나쁜 의미로 통용되지만, ‘해킹’은 컴퓨터에 푹 빠진 이들이 컴퓨터에 대해 좀 더 알고자 하는 순수한 열정에서부터 탄생했다. 존 에릭슨은 이 책에서 다양한 해킹 기법과 기술을 예술적으로 설명하면서 내면으로는 그들의 순수한 열정을 독자들에게 알리고자 하는 것이다.

사회 곳곳에서 해킹과 보안에 대한 이야기가 나오면서 많은 사람이 해킹과 보안에 관심을 갖고, 해킹을 배우고자 한다. 그들이 단순한 따라 하기만으로 이용할 수 있는 ‘해킹 겉핥기’ 툴들은 많지만 정작 해킹의 본질을 알려주는 툴이나 자료는 부족하다. 이 책은 기본적인 C 프로그래밍에서부터 기본 공격 기법, 네트워크 공격, 셸코드 공격과 그에 대한 대응책까지 해킹의 많은 부분을 다룬다. 심도 있게 다루지만 충분한 예제로 비교적 쉽게 이해할 수 있다. 그리고 해킹 환경을 손쉽게 구축해주는 라이브CD가 부록으로 들어있어서 더욱 쉽게 해킹 공부를 할 수 있다. 이 책은 해킹을 공부하고 싶지만 어디서부터 시작해야 할지 모르는 독자에게 해킹의 진수를 가르쳐줄 것이다.

1판에 비해 많은 부분이 추가됐는데, 프로그래밍 기초가 없는 독자를 위해 C 프로그래밍의 기본 내용을 설명하는 0x200 프로그래밍 부분이 보강됐다. 그리고 셸코드 작성과 사용법 부분을 보강해 따로 0x500 셸코드 장으로 분리했다. 또한 0x600 대응책에서는 해킹에 대한 방어 방법까지 다룬다. 1판에 비해 두 배 가까이 분량이 늘었으므로 해킹에 대해 더 많은 정보를 얻을 수 있을 것이다.


[ 옮긴이 소개 ]

장재현
KAIST 전산학과와 서울대학교 컴퓨터공학과 대학원을 졸업했다. 해킹, 모바일, 웹, 소셜 네트워킹 등의 키워드에 관심이 많다. 현재는 삼성전자 DMC 연구소에서 다양한 모바일 플랫폼과 고군분투하고 있다. 최근에는 트위터 @ELiXirrr에서 근황을 확인할 수 있다.

강유
서울대학교 보안 동아리 ‘가디언’의 창립 멤버로 참여했고 초대 회장을 지냈다. 현재 미국 카네기 멜론 대학 컴퓨터 사이언스 박사 과정에 재학 중이다. 저서로 『강유의 해킹 & 보안 노하우』가 있으며, 대표적인 역서로 『네트워크를 훔쳐라』, 『조엘이 엄선한 소프트웨어 블로그 베스트 29선』, 『TCP/IP 완벽 가이드』 등이 있다.

목차

목차
  • 0x100장 들어가며
  • 0x200장 프로그래밍
    • 0x210 프로그래밍이란?
    • 0x220 가상 코드
    • 0x230 제어 구조
      • 0x231 If-Then-Else
      • 0x232 While/Until 루프
      • 0x233 For 루프
    • 0x240 기본적인 프로그래밍 개념
      • 0x241 변수
      • 0x242 산술 연산자
      • 0x243 비교 연산자
      • 0x244 함수
    • 0x250 직접 해보기
      • 0x251 큰 그림 이해하기
      • 0x252 x86 프로세서
      • 0x253 어셈블리 언어
    • 0x260 기본으로 돌아가기
      • 0x261 문자열
      • 0x262 Signed, Unsigned, Long, Short
      • 0x263 포인터
      • 0x264 형식 문자열
      • 0x265 형 변환
      • 0x266 커맨드라인 인자
      • 0x267 변수 범위
    • 0x270 메모리 세그먼트
      • 0x271 C에서의 메모리 세그먼트
      • 0x272 힙 사용하기
      • 0x273 오류 확인된 malloc()
    • 0x280 기초 쌓기
      • 0x281 파일 접근
      • 0x282 파일 권한
      • 0x283 사용자 ID
      • 0x284 구조체
      • 0x285 함수 포인터
      • 0x286 가상 난수
      • 0x287 확률 게임
  • 0x300장 공격
    • 0x310 일반 공격 기법
    • 0x320 버퍼 오버플로우
      • 0x321 스택 기반 버퍼 오버플로우의 취약점
    • 0x330 BASH 셸로 해킹하기
      • 0x331 환경 변수 이용하기
    • 0x340 기타 세그먼트 오버플로우
      • 0x341 힙 기반 오버플로우
      • 0x342 함수 포인터 오버플로우
    • 0x350 포맷 스트링
      • 0x351 포맷 인자
      • 0x352 포맷 스트링 취약점
      • 0x353 임의의 메모리 주소에서 읽기
      • 0x354 임의의 메모리 주소에 쓰기
      • 0x355 인자에 직접 접근
      • 0x356 쇼트 쓰기 기법
      • 0x357 소멸자를 이용한 우회법
      • 0x358 노트 검색 프로그램의 취약점
      • 0x359 전역 오프셋 테이블 덮어쓰기
  • 0x400장 네트워킹
    • 0x410 OSI 모델
    • 0x420 소켓
      • 0x421 소켓 함수
      • 0x422 소켓 주소
      • 0x423 네트워크 바이트 순서
      • 0x424 인터넷 주소 변환
      • 0x425 간단한 서버 예제
      • 0x426 웹 클라이언트 예제
      • 0x427 작은 웹서버
    • 0x430 하위 계층 해부
      • 0x431 데이터링크 계층
      • 0x432 네트워크 계층
      • 0x433 전송 계층
    • 0x440 네트워크 스니핑
      • 0x441 로 소켓 스니퍼
      • 0x442 libpcap 스니퍼
      • 0x443 계층 해독
      • 0x444 능동 스니핑
    • 0x450 서비스 거부
      • 0x451 SYN 홍수
      • 0x452 죽음의 핑
      • 0x453 티어드랍
      • 0x454 핑 홍수
      • 0x455 증폭 공격
      • 0x456 분산 DoS 홍수
    • 0x460 TCP/IP 하이재킹
      • 0x461 RST 하이재킹
      • 0x462 지속되는 하이재킹
    • 0x470 포트 스캐닝
      • 0x471 스텔스 SYN 스캔
      • 0x472 FIN, X-mas, Null 스캔
      • 0x473 가짜 스캔 패킷 이용
      • 0x474 유휴 스캐닝
      • 0x475 사전 방어(가리개)
    • 0x480 네트워크 건너 해킹하기
      • 0x481 GDB로 분석하기
      • 0x482 tinyweb 공격해보기
      • 0x483 포트 바인딩 셸코드
  • 0x500장 셸코드
    • 0x510 어셈블리와 C
      • 0x511 어셈블리 리눅스 시스템 콜
    • 0x520 셸코드로 가는 길
      • 0x521 스택을 사용한 어셈블리 명령
      • 0x522 GDB로 조사
      • 0x523 널 바이트 제거
    • 0x530 셸을 생성하는 셸코드
      • 0x531 권한 문제
      • 0x532 셸코드 좀 더 작게 만들기
    • 0x540 포트 바인딩 셸코드
      • 0x541 표준 파일 서술자 복제
      • 0x542 분기 제어 구조
    • 0x550 커넥트 백 셸코드
  • 0x600장 대응책
    • 0x610 탐지 대응책
    • 0x620 시스템 데몬
      • 0x621 시그널
      • 0x622 tinyweb 데몬
    • 0x630 주요 툴
      • 0x631 tinywebd 공격 툴
    • 0x640 로그 파일
      • 0x641 군중 속에 숨기
    • 0x650 보지 못하고 지나치기
      • 0x651 한 번에 하나씩
      • 0x652 원래대로 만들기
      • 0x653 자식 프로세스 호출
    • 0x660 고급 위장법
      • 0x661 로그의 IP 주소 스푸핑
      • 0x662 로그없는 공격
    • 0x670 전체 기반 시스템
      • 0x671 소켓 재사용
    • 0x680 페이로드 은닉
      • 0x681 문자열 인코딩
      • 0x682 썰매 숨기는 방법
    • 0x690 버퍼 제한
      • 0x691 다형의 출력 가능한 ASCII 셸코드
    • 0x6a0 대응책 보강
    • 0x6b0 실행 불가능 스택
      • 0x6b1 ret2libc
      • 0x6b2 system()으로 리턴
    • 0x6c0 임의 스택 공간
      • 0x6c1 BASH와 GDB로 조사
      • 0x6c2 linux-gate 이용기
      • 0x6c3 응용 지식
      • 0x6c4 첫 번째 시도
      • 0x6c5 도박하기
  • 0x700장 암호학
    • 0x710 정보 이론
      • 0x711 절대적 보안
      • 0x712 원타임 패드
      • 0x713 양자 키 분배
      • 0x714 계산 불능 보안
    • 0x720 알고리즘 실행 시간
      • 0x721 점근 표기법
    • 0x730 대칭 암호 방식
      • 0x731 러브 그로버의 양자 검색 알고리즘
    • 0x740 비대칭 암호화
      • 0x741 RSA
      • 0x742 피터 쇼어의 양자 인수분해 알고리즘
    • 0x750 혼성 암호
      • 0x751 맨 인 더 미들 공격
      • 0x752 SSH 프로토콜 호스트 핑거프린트 버전 이용
      • 0x753 퍼지 핑거프린트
    • 0x760 비밀번호 크래킹
      • 0x761 사전 공격
      • 0x762 전수 조사 공격
      • 0x763 해시 룩업 테이블
      • 0x764 비밀번호 확률 행렬
    • 0x770 무선 802.11b 암호화
      • 0x771 WEP
      • 0x772 RC4 스트림 암호 방식
    • 0x780 WEP 공격
      • 0x781 오프라인 전수 조사 공격
      • 0x782 키스트림 재사용
      • 0x783 IV 기반 복호화 사전 테이블
      • 0x784 IP 리다이렉션
      • 0x785 Fluhrer, Mantin, Shamir 공격
  • 0x800장 결론
    • 0x810 참고 문헌

관련 블로그 글

해킹의 기본부터 탄탄히!『(개정판) 해킹: 공격의 예술』

 

사용자 삽입 이미지

(개정판) 해킹: 공격의 예술
존 에릭슨 지음 | 장재현, 강유 옮김 | 해킹과 보안 시리즈 26
2010년 3월 19일 출간 | 676쪽 | 30,000원
YES24, 교보문고, 강컴, 인터파크, 알라딘
프로그래밍에서부터 공격 가능한 기계어 코드까지 해킹에 필요한 모든 것을 다룸으로써 해킹의 세계를 좀 더 쉽게 이해할 수 있도록 해킹의 예술과 과학을 설파한 책.

해킹을 공부하고 싶지만 어디서부터 시작해야 할지 모르는 초보 해커들에게 해킹의 진수를 알려주는 한편, 실제 코드와 해킹 기법, 동작 원리에 대한 설명이 가득한 간결하고 현실적인 해킹 가이드다.

기본적인 C 프로그래밍에서부터 기본 공격 기법, 네트워크 공격, 셸코드 공격과 그에 대한 대응책까지 해킹의 거의 모든 부분을 다룬다.
사용자 삽입 이미지

지난 2004년 출간되어 약 6년 동안 독자들께 많은 사랑을 받아온 『해킹: 공격의 예술』의 개정판이 출간됐습니다. 개정판 표지도 원서 표지를 따라 새로운 분위기로 바뀌었습니다. 분량이 종전 초판의 254쪽에서 2.6배로 늘어난 676쪽으로서, 내용도 대폭 추가됐습니다.

이 책은 개정판 번역을 맡은 역자 장재현님이 옮긴이 서문에서 밝혔듯 "단순한 따라 하기만으로 이용할 수 있는 ‘해킹 겉핥기’ 툴들은 많지만 정작 해킹의 본질을 알려주는 툴이나 자료는 부족한" 현 시점에서 해킹의 기본기부터 닦으려는 독자에게 충실한 내용을 전달할 책입니다.

[ 이 책에서 다루는 내용 ]

■ C, 어셈블리, 셸 스크립트를 이용한 프로그래밍
■ 버퍼 오버플로우와 포맷 스트링을 이용해 임의 코드 실행을 위한 시스템 메모리 공격
■ 실제 동작의 이해를 위해 디버거를 이용한 프로세서 레지스터와 시스템 메모리 조사
■ 실행 불가능 스택과 침입 탐지 시스템 같은 똑똑한 보안 대응책
■ 포트 바인딩이나 커넥트백 셸 코드를 이용한 원격 서버 접근, 서버 로그를 바꿔 흔적 숨기기
■ 네트워크 트래픽 리다이렉트, 열린 포트 숨기기, TCP 연결 하이재킹
■ FMS 공격으로 암호화된 무선 트래픽 크랙, 비밀번호 확률 매트릭스를 이용한 빠른 전수 조사 공격

최신 해킹 서적과는 달리, 이 책에 나와있는 공격 기법은 이미 세상에 알려져서 막혀있는 것들도 있을 것입니다. 이 책의 저자 존 에릭슨은 단지 어떤 사이트를 뚫고 공격하고 해킹하는 방법이 아니라, 블랙 햇 해커거나 화이트 햇 해커로의 방향을 결정하기에 앞서 해킹에 관한 근본을 알려주고 싶어합니다. 이는 초판이나 개정판에서 일관되게 주지하고픈 이야기이기도 합니다. 아마도 초판본을 읽으신 분이 많을 것 같아, 400여쪽에 달하는 내용이 추가된 개정판에서 달라진 점을 중심으로 말씀해드리겠습니다.

이 책 한 권으로 기본기에서부터 해킹에 관한 내용을 독파하고 싶은 독자들을 배려해 "C 프로그래밍"에 대한 내용을 2장에서 자세히 다뤘습니다. C를 잘 모르던 독자들도 이 장을 읽고 시작하면 충분히 활용할 수 있도록 내용을 기술했습니다.

또한 "셸 코드"에 대한 장도 개정판에서 추가됐습니다. 사실 해킹 코드에서 대부분은 셸 코드를 실행하기 위한 코드이기에 직접 메모리에 올라가서 실행되어 공격을 주도하는 셸 코드는 해킹의 핵심이라 할 수 있습니다. 셸 코드에 관한 내용을 직접 부록 CD로 수록된 라이브CD 부팅 리눅스 환경에서 직접 실행해봄으로써 자세히 익힐 수 있습니다.

또한 실행 불가능 스택과 침입 탐지 시스템 같은 똑똑한 보안 대응책에 대한 챕터도 1판에서는 언급되지 않았던 내용입니다. 보안과 방어 대응책을 밝힘으로써 공격 기법을 역으로 이해하기 쉽게 설명했습니다.

그밖에도 1판에서도 견지한 공격 기법, 네트워킹, 암호학 등 해킹의 전반에 대한 내용을 골고루 다룸으로써 해킹 전반에 대한 기본기를 탄탄히 닦을 수 있는 책입니다.

사용자 삽입 이미지

한눈에 비교해도 책이 많이 두꺼워졌죠? :)

강유님이 번역한 1판의 유명세를 살려 훌륭히 개정판 번역을 마쳐주시느라 고생하신 장재현님께 감사합니다. 읽기 쉽고 편한 문장으로 새롭게 태어난 이 책으로 여러분의 해킹 내공과 보안 대응력을 한껏 높이시기 바랍니다.

이 책은 지금 YES24, 교보문고, 강컴, 인터파크, 알라딘에서 판매 중입니다.
CC

크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

 1쇄 오류/오탈자 

[ p17 수학 문제의 답 ]

 4쇄 오류/오탈자 

[ p35 표 아래로 3행 ]
a가 b보다 작고 a가 c보다 작으면 참이다. → a가 b보다 작고 a가 c보다 작지 않으면 참이다.

[ p41 코드 제목 ]
fisrtprog.c → firstprog.c

[ p48 아래에서 6행 ]
0x804838a → 0x804837a

[ p282 11행 ]
이미 환경 변수에 저장돼 있으 → 이미 환경 변수에 저장돼 있으므로

2015. 12. 15 수정사항

[p. 27: 본문 아래에서 11행]
있지 말길 바란다.
-> 잊지 말길 바란다.

2016. 5.18 수정사항

[p.57: 9행]
netx instruction
->
next instruction

2016. 8. 23 수정사항

[p.95: 6행, p.96: 10행]
conver2.c
->
convert2.c

[p.286: 14행]
계층을 있는
->
계층을 잇는

[p.371: 아래에서 8행]
TPC
->
TCP

[p.381: 6행]
않는다
->
아니다

[p.390: 아래에서 9행]
일어보면
->
읽어보면

[p.427: 11행]
exb
->
ebx

[p.427: 13행]
exc
->
ecx

2016. 12. 14 수정사항

[p.299: 예제코드 12행]