본문 바로가기

추천 검색어

실시간 인기 검색어

리버싱 핵심 원리

악성 코드 분석가의 리버싱 이야기
이승원 저자(글)
인사이트 · 2012년 09월 30일
9.7 (20개의 리뷰)
집중돼요 (39%의 구매자)
  • 리버싱 핵심 원리 대표 이미지
    리버싱 핵심 원리 대표 이미지
  • A4
    사이즈 비교
    210x297
    240x188
    단위 : mm
MD의 선택 무료배송 이벤트 소득공제
10% 43,200 48,000
적립/혜택
2,400P

기본적립

5% 적립 2,400P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 2,400P
  • 리뷰 작성 시, e교환권 추가 최대 300원
배송안내
무료배송
배송비 안내
국내도서/외국도서
도서만 15,000원 이상 구매 시 무료배송
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

교보Only(교보배송)
각각 구매하거나 함께 20,000원 이상 구매 시 무료배송

20,000원 미만 시 2,500원 배송비 부과

해외주문 서양도서/해외주문 일본도서(교보배송)
각각 구매하거나 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

업체배송 상품(전집, GIFT, 음반/DVD 등)
해당 상품 상세페이지 "배송비" 참고 (업체 별/판매자 별 무료배송 기준 다름)
바로드림 오늘배송
업체에서 별도 배송하여 1Box당 배송비 2,500원 부과

1Box 기준 : 도서 10권

그 외 무료배송 기준
바로드림, eBook 상품을 주문한 경우, 플래티넘/골드/실버회원 무료배송쿠폰 이용하여 주문한 경우, 무료배송 등록 상품을 주문한 경우
주문정보를 불러오는 중입니다.
서울시 종로구 종로 1

알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

패키지

북카드

키워드 Pick

키워드 Pick 안내

관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

책 소개

이 책이 속한 분야

리버싱 기술의 핵심 원리를 한 권에 담았다!
악성 코드 분석가의 리버싱 이야기『리버싱 핵심 원리』. 프로그램의 내부를 깊이 들여다보고 조작할 수 있는 기법인 ‘리버싱’에 필요한 핵심 원리를 50여개 장을 통해 꼼꼼하게 설명한 책이다. 리버싱 기술의 단순한 소개에 그치지 않고, 각 기술의 핵심적인 원리를 깨닫게 하는 데 목표를 두고 있다. 무엇보다 저자 이승원이 안철수 연구소에서의 오랜 경험을 토대로 직접 작성한 다양한 코드는 물론 리버서라면 꼭 알아야 할 다양한 리버싱 기법을 상세하게 소개하여 리버서를 꿈꾸는 개발자는 물론 실무를 경험해본 모두에게 도움을 준다. 이를 통해 기본기를 튼튼하게 다지는 것은 물론, 시간이 흘러도 가치가 변하지 않는 기술의 진수를 얻을 수 있다.

작가정보

저자(글) 이승원

저자 이승원은 AhnLab에서 악성 코드를 분석하고, 리버싱 전문 블로그를 운영합니다. 리버스 엔지니어링을 접한 순간부터 그 황홀한 매력에 빠져들었습니다. 이 멋진 기술을 널리 전파시키고 다양한 분야에 활용하는 것에 관심이 많습니다. 독서와 공상을 좋아하고, 늘 새로운 도전을 꿈꾸고 있습니다.

목차

  • 1부 기초 리버싱

    1장 Reversing Story
    1.1. Reverse Engineering(RE)
    1.2. Reverse Code Engineering(RCE)
    1.2.1. 리버싱(분석) 방법
    1.2.2. Source Code, Hex Code, Assembly Code
    1.2.3. 패치와 크랙
    1.3. 리버싱 준비물
    1.3.1. 목표
    1.3.2. 열정
    1.3.3. 구글
    1.4. 리버싱 방해물
    1.4.1. 과욕
    1.4.2. 조급함
    1.5. 리버싱의 묘미

    2장 Hello World! 리버싱
    2.1. Hello World! 프로그램
    2.1.1. 디버거와 어셈블리 언어
    2.2. HelloWorld.exe 디버깅
    2.2.1. 디버깅 목표
    2.2.2. 디버깅 시작
    2.2.3. EP
    2.2.4. 40270C 함수 따라가기
    2.2.5. 40104F 점프문 따라가기
    2.2.6. main( ) 함수 찾기
    2.3. 디버거 좀 더 능숙하게 다루기
    2.3.1. 디버거 명령어
    2.3.2. 베이스 캠프
    2.3.3. 베이스 캠프를 설치하는 4가지 방법
    2.4. 원하는 코드를 빨리 찾아내는 4가지 방법
    2.4.1. 코드 실행 방법
    2.4.2. 문자열 검색 방법
    2.4.3. API 검색 방법 (1) - 호출 코드에 BP
    2.4.4. API 검색 방법 (2) - API 코드에 직접 BP
    2.5. “Hello World!” 문자열 패치
    2.5.1. 패치
    2.5.2. 문자열을 패치하는 두 가지 방법
    2.6. 마무리

    3장 Little Endian 표기법
    3.1. 바이트 오더링 49
    3.1.1. 리틀 엔디안 & 빅 엔디안
    3.1.2. OllyDbg에서 리틀 엔디안 확인

    4장 IA-32 Register 기본 설명
    4.1. CPU 레지스터란?
    4.1.1. 레지스터에 대해서 알아야 하는 이유
    4.2. IA-32의 레지스터
    4.2.1. Basic program execution registers
    4.3. 마무리

    5장 Stack
    5.1. 스택
    5.1.1. 스택의 특징
    5.1.2. 스택 동작 예제

    6장 abex crackme #1 분석
    6.1. abex’ crackme #1
    6.1.1. Start debugging
    6.1.2. 코드 분석
    6.2. 크랙
    6.3. 스택에 파라미터를 전달하는 방법
    6.4. 마무리

    7장 Stack Frame
    7.1. 스택 프레임
    7.2. 실습 예제 - stackframe.exe
    7.2.1. StackFrame.cpp
    7.2.2. main( ) 함수 시작 & 스택 프레임 생성
    7.2.3. 로컬 변수 셋팅
    7.2.4. add( ) 함수 파라미터 입력 및 add( ) 함수 호출
    7.2.5. add( ) 함수 시작 & 스택 프레임 생성
    7.2.6. add( ) 함수의 로컬 변수(x, y) 셋팅
    7.2.7. ADD 연산
    7.2.8. add( ) 함수의 스택 프레임 해제 & 함수 종료(리턴)
    7.2.9. add( ) 함수 파라미터 제거(스택 정리)
    7.2.10. printf( ) 함수 호출
    7.2.11. 리턴 값 셋팅
    7.2.12. 스택 프레임 해제 & main( ) 함수 종료
    7.3. OllyDbg 옵션 변경
    7.3.1. Disasm 옵션
    7.3.2. Analysis1 옵션
    7.4. 마무리

    8장 abex crackme #2
    8.1. abex’ crackme #2 실행
    8.2. Visual Basic 파일 특징
    8.2.1. VB 전용 엔진
    8.2.2. N(Native) code, P(Pseudo) code
    8.2.3. Event Handler
    8.2.4. undocumented 구조체
    8.3. Start debugging
    8.3.1. 간접호출
    8.3.2. RT­MainStruct 구조체
    8.3.3. ThunRTMain( ) 함수
    8.4. crackme 분석
    8.4.1. 문자열 검색
    8.4.2. 문자열 주소 찾기
    8.4.3. Serial 생성 알고리즘
    8.4.4. 코드 예측하기
    8.4.5. Name 문자열 읽는 코드
    8.4.6. 암호화 루프
    8.4.7. 암호화 방법
    8.5. 마무리

    9장 Process Explorer - 최고의 작업 관리자
    9.1. Process Explorer
    9.2. 구체적으로 뭐가 좋은 거죠?
    9.3. sysinternals

    10장 Calling Convention
    10.1. Calling Convention
    10.1.1. cdecl
    10.1.2. stdcall
    10.1.3. fastcall

    11장 Lena’s Reversing for Newbies
    11.1. 실행
    11.2. 분석
    11.2.1. 목표(1) - 메시지 박스 제거!
    11.2.2. 패치(1) - 메시지 박스 제거
    11.2.3. 목표(2) - Registration Code 찾기
    11.3. 마무리

    12장 도대체 리버싱을 어떻게 공부해야 하나요?
    12.1. Reverse Engineering(RE)
    12.1.1. 모든 공부에는 ‘목표’가 있어야 합니다.
    12.1.2. ‘긍정적인 마인드’를 가지세요.
    12.1.3. ‘재미’를 느껴야 합니다.
    12.1.4. ‘검색’을 생활화해야 합니다.
    12.1.5. 제일 중요한 건 ‘실천’입니다.
    12.1.6. ‘느긋한 마음’을 가지세요.

    2부 PE File Format

    13장 PE File Format
    13.1. Introduction
    13.2. PE File Format
    13.2.1. 기본 구조
    13.2.2. VA & RVA
    13.3. PE 헤더
    13.3.1. DOS Header
    13.3.2. DOS Stub
    13.3.3. NT Header
    13.3.4. IMAGE­NT­HEADERS - IMAGE­FILE­HEADER
    13.3.5. IMAGE­NT­HEADERS - IMAGE­OPTIONAL­HEADER32
    13.3.6.
    13.4. RVA to RAW
    13.5. IAT
    13.5.1. DLL
    13.5.2. IMAGE­IMPORT­DESCRIPTOR
    13.5.3. notepad.exe를 이용한 실습
    13.6. EAT
    13.6.1. IMAGE­EXPORT­DIRECTORY
    13.6.2. kernel32.dll을 이용한 실습
    13.7. Advanced PE(Portable Executable)
    13.7.1. PEView.exe
    13.7.2. Patched PE
    13.8. 마무리

    14장 실행 압축
    14.1. 데이터 압축
    14.1.1. 비손실 압축
    14.1.2. 손실 압축
    14.2. 실행 압축
    14.2.1. 패커
    14.2.2. 프로텍터
    14.3. 실행 압축 테스트
    14.3.1. notepad.exe와 notepad­upx.exe 파일 비교

    15장 UPX 실행 압축된 notepad 디버깅
    15.1. notepad.exe의 EP Code
    15.2. notepad­upx.exe의 EP Code
    15.3. UPX 파일 트레이싱
    15.3.1. OllyDbg의 트레이스 명령어
    15.3.2. 루프 #1
    15.3.3. 루프 #2
    15.3.4. 루프 #3
    15.3.5. 루프 #4
    15.4. UPX의 OEP를 빨리 찾는 방법
    15.4.1. POPAD 명령어 이후의 JMP 명령어에 BP 설치
    15.4.2. 스택에 하드웨어 브레이크 포인트(Hardware Break Point) 설치
    15.5. 마무리

    16장 Base Relocation Table
    16.1. PE 재배치
    16.1.1. DLL/SYS
    16.1.2. EXE
    16.2. PE 재배치 발생시 수행되는 작업
    16.3. PE 재배치 동작 원리
    16.3.1. Base Relocation Table
    16.3.2. IMAGE­BASE­RELOCATION 구조체
    16.3.3. Base Relocation Table의 해석 방법
    16.3.4. 실습

    17장 실행 파일에서 .reloc 섹션 제거하기
    17.1. .reloc 섹션
    17.2. reloc.exe
    17.2.1. .reloc Section Header 정리
    17.2.2. .reloc 섹션 제거
    17.2.3. IMAGE­FILE­HEADER 수정
    17.2.4. IMAGE­OPTIONAL­HEADER 수정
    17.3. 마무리

    18장 UPack PE 헤더 상세 분석
    18.1. UPack 설명
    18.2. UPack으로 notepad.exe 실행 압축하기
    18.3. Stud­PE 이용
    18.4. PE 헤더 비교
    18.4.1. notepad.exe(원본)의 PE 헤더
    18.4.2. notepad­upack.exe(실행 압축)의 PE 헤더
    18.5. UPack의 PE 헤더 분석
    18.5.1. 헤더 겹쳐쓰기
    18.5.2. IMAGE­FILE­HEADER.SizeOfOptionalHeader
    18.5.3. IMAGE­OPTIONAL­HEADER.NumberOfRvaAndSizes
    18.5.4. IMAGE­SECTION­HEADER
    18.5.5. 섹션 겹쳐쓰기
    18.5.6. RVA to RAW
    18.5.7. Import Table(IMAGE­IMPORT­DESCRIPTOR array)
    18.5.8. IAT(Import Address Table)
    18.6. 마무리

    19장 UPack 디버깅 - OEP 찾기
    19.1. OllyDbg 실행 에러
    19.2. 디코딩 루프
    19.3. IAT 셋팅
    19.4. 마무리

    20장 인라인 패치 실습
    20.1. 인라인 패치
    20.2. 실습 - Patchme
    20.3. 디버깅 - 코드 흐름 살펴보기
    20.4. 코드 구조
    20.5. 인라인 패치 실습
    20.5.1. 패치 코드를 어디에 설치할까?
    20.5.2. 패치 코드 만들기
    20.5.3. 패치 코드 실행하기
    20.5.4. 결과 확인

    3부 DLL Injection

    21장 Windows 메시지 후킹
    21.1. 훅
    21.2. 메시지 훅
    21.3. SetWindowsHookEx ( )
    21.4. 키보드 메시지 후킹 실습
    21.4.1. 실습 예제 HookMain.exe
    21.4.2. 소스코드 분석
    21.5. 디버깅 실습
    21.5.1. HookMain.exe 디버깅
    21.5.2. Notepad.exe 프로세스내의 KeyHook.dll 디버깅
    21.6. 마무리

    22장 악의적인 목적으로 사용되는 키로거
    22.1. 악성 키로거의 목표
    22.1.1. 온라인 게임
    22.1.2. 인터넷 뱅킹
    22.1.3. 기업 정보 유출
    22.2. 키로거의 종류와 향후 발전 방향
    22.3. 키로거에 대처하는 우리의 자세
    22.4. 개인정보

    23장 DLL Injection
    23.1. DLL 인젝션
    23.2. DLL 인젝션 활용 예
    23.2.1. 기능 개선 및 버그 패치
    23.2.2. 메시지 후킹
    23.2.3. API 후킹
    23.2.4. 기타 응용 프로그램
    23.2.5. 악성 코드
    23.3. DLL 인젝션 구현 방법
    23.4. CreateRemoteThread ( )
    23.4.1. 실습 예제 myhack.dll
    23.4.2. 예제 소스코드 분석
    23.4.3. 디버깅 방법
    23.5. AppInit­DLLs
    23.5.1. 예제 소스코드 분석
    23.5.2. 실습 예제 myhack2.dll
    23.6. SetWindowsHookEx ( )
    23.7. 마무리

    24장 DLL Ejection
    24.1. DLL 이젝션 동작 원리
    24.2. DLL 이젝션 구현
    24.2.1. 프로세스에 로딩된 DLL 정보 구하기
    24.2.2. 대상 프로세스 핸들 구하기
    24.2.3. FreeLibrary( ) API 주소 구하기
    24.2.4. 대상 프로세스에 스레드를 실행시킴
    24.3. DLL 이젝션 간단 실습
    24.3.1. 파일 복사 및 notepad.exe 실행
    24.3.2. 인젝션
    24.3.3. 이젝션

    25장 PE Patch를 이용한 DLL 로딩
    25.1. 실습 파일
    25.1.1. TextView.exe
    25.1.2. TextView­patched.exe
    25.2. 소스코드 - myhack3.cpp
    25.2.1. DllMain( )
    25.2.2. DownloadURL( )
    25.2.3. DropFile( )
    25.2.4. dummy( )
    25.3. TextView.exe 파일 패치 준비 작업
    25.3.1. 패치 아이디어
    25.3.2. 패치 사전 조사
    25.3.3. IDT 이동
    25.4. TextView.exe 패치 작업
    25.4.1. IMPORT Table의 RVA 값 변경
    25.4.2. BOUND IMPORT TABLE 제거
    25.4.3. 새로운 IDT 생성
    25.4.4. Name, INT, IAT 셋팅
    25.4.5. IAT 섹션의 Characteristics 변경
    25.5. 검증 (Test)
    25.6. 마무리

    26장 PE Tools
    26.1. PE Tools
    26.1.1. 프로세스 메모리 덤프
    26.1.2. PE Editor
    26.2. 마무리
    쉬어가기 - 리버싱의 참맛

    27장 Code Injection
    27.1. Code 인젝션
    27.2. DLL 인젝션 vs Code 인젝션
    27.2.1. 코드 인젝션을 사용하는 이유
    27.3. 실습 예제
    27.3.1. notepad.exe 실행
    27.3.2. CodeInjection.exe 실행
    27.3.3. 메시지 박스 확인
    27.4. CodeInjection.cpp
    27.4.1. main( )
    27.4.2. ThreadProc( )
    27.4.3. InjectCode( )
    27.5. Code 인젝션 디버깅 실습
    27.5.1. notepad.exe 디버깅
    27.5.2. OllyDbg 옵션 변경
    27.5.3. CodeInjection.exe 실행
    27.5.4. 스레드 시작 코드
    27.6. 마무리

    28장 어셈블리 언어를 이용한 Code Injection
    28.1. 목표
    28.2. 어셈블리 프로그래밍
    28.3. OllyDbg의 Assemble 명령
    28.3.1. ThreadProc( ) 작성
    28.3.2. Save File
    28.4. 인젝터 제작
    28.4.1. ThreadProc( ) 함수의 바이너리 코드 얻기
    28.4.2. CodeInjection2.cpp
    28.5. 디버깅 실습
    28.5.1. notepad.exe 디버깅
    28.5.2. OllyDbg 옵션 변경
    28.5.3. CodeInjection2.exe 실행
    28.5.4. 스레드 시작 코드
    28.6. 상세 분석
    28.6.1. 스택 프레임
    28.6.2. THREAD­PARAM 구조체 포인터
    28.6.3. “user32.dll” 문자열
    28.6.4. “user32.dll” 문자열 파라미터 입력
    28.6.5. LoadLibraryA(“user32.dll”) 호출
    28.6.6. “MessageBoxA” 문자열
    28.6.7. GetProcAddress(hMod, “MessageBoxA”) 호출
    28.6.8. MessageBoxA( ) 파라미터 입력 1 - MB­OK
    28.6.9. MessageBoxA( ) 파라미터 입력 2 - “ReverseCore”
    28.6.10. MessageBoxA( ) 파라미터 입력 3 - “www.reversecore.com”
    28.6.11. MessageBoxA( ) 파라미터 입력 4 - NULL
    28.6.12. MessageBoxA 호출
    28.6.13. ThreadProc( ) 리턴 값 셋팅
    28.6.14. 스택 프레임 해제 및 함수 리턴
    28.7. 마무리

    4부 API Hooking

    29장 API Hooking: 리버싱의 ‘꽃’
    29.1. 후킹
    29.2. API
    29.3. API 후킹
    29.3.1. 정상 API 호출
    29.3.2. 후킹 API 호출
    29.4. 테크 맵
    29.4.1. Method Object(what)
    29.4.2. Location(where)
    29.4.3. Technique(How)
    29.5. API

    30장 메모장 WriteFile ( ) 후킹
    30.1. 테크 맵 - 디버그 테크닉
    30.2. 디버거 설명
    30.2.1. 용어
    30.2.2. 디버거 기능
    30.2.3. 디버거 동작 원리
    30.2.4. 디버그 이벤트
    30.3. 작업 순서
    30.4. 실습
    30.5. 동작 원리
    30.5.1. 스택
    30.5.2. 실행 흐름
    30.5.3. 언훅 & 훅
    30.6. 소스코드 설명
    30.6.1. main( )
    30.6.2. DebugLoop( )
    30.6.3. EXIT­PROCESS­DEBUG­EVENT
    30.6.4. CREATE­PROCESS­DEBUG­EVENT - OnCreateProcessDebug Event( )
    30.6.5. EXCEPTION­DEBUG­EVENT - OnExceptionDebugEvent( )

    31장 디버거 이야기
    31.1. OllyDbg
    31.2. IDA Pro
    31.3. WinDbg

    32장 계산기, 한글을 배우다
    32.1. 테크 맵
    32.2. 대상 API 선정
    32.3. IAT 후킹 동작 원리
    32.4. 실습
    32.5. 소스코드 분석
    32.5.1. DllMain( )
    32.5.2. MySetWindowTextW( )
    32.5.3. hook­iat ( )
    32.6. 인젝션된 DLL의 디버깅
    32.6.1. DllMain( )
    32.6.2. hook­iat ( )
    32.6.3. MySetWindowTextW( )
    32.7. 마무리

    33장 ‘스텔스’ 프로세스
    33.1. 테크 맵
    33.2. API 코드 패치 동작 원리
    33.2.1. 후킹 전
    33.2.2. 후킹 후
    33.3. 프로세스 은폐
    33.3.1. 프로세스 은폐 동작 원리
    33.3.2. 관련 API
    33.3.3. 은폐 기법의 문제점
    33.4. 실습 #1 (HideProc.exe, stealth.dll)
    33.4.1. notepad.exe, procexp.exe, taskmgr.exe 실행
    33.4.2. HideProc.exe 실행
    33.4.3. stealth.dll 인젝션 확인
    33.4.4. notepad.exe 프로세스 은폐 확인
    33.4.5. notepad.exe 프로세스 은폐 해제
    33.5. 소스코드 분석
    33.5.1. HookProc.cpp
    33.5.2. stealth.cpp
    33.6. 글로벌 API 후킹
    33.6.1. Kernel32.CreateProcess ( ) API
    33.6.2. Ntdll.ZwResumeThread ( ) API
    33.7. 실습 #2(HideProc2.exe, stealth2.dll)
    33.7.1. stealth2.dll 파일을 %SYSTEM% 폴더에 복사
    33.7.2. HideProc2.exe -hide 실행
    33.7.3. ProcExp.exe & notepad.exe 실행
    33.7.4. HideProc2.exe -show 실행
    33.8. 소스코드 분석
    33.8.1. HideProc2.cpp
    33.8.2. stealth2.cpp
    33.9. 핫 패치 방식의 API 후킹
    33.9.1. 기존 API 코드 패치 방법의 문제점
    33.9.2. 핫 패치 (7바이트 코드 패치)
    33.10. 실습 #3 - stealth3.dll
    33.11. 소스코드 분석
    33.11.1. Stealth3.cpp
    33.12. 핫 패치 방식의 API 후킹에서 고려사항
    33.12. 마무리

    34.1. 후킹 대상 API
    34.1.1. 검증 ? IE 프로세스 디버깅
    34.2. IE 프로세스 구조
    34.3. 글로벌 API 후킹 개념 정리
    34.3.1. 일반적인 API 후킹
    34.3.2. 글로벌 API 후킹
    34.4. ntdll!ZwResumeThread ( ) API
    34.5. 실습 예제 ? IE 접속 제어
    34.5.1. IE 실행
    34.5.2. DLL 인젝션
    34.5.3. 새로운 탭 생성
    34.5.4. 포털 사이트 접속
    34.5.5. DLL 이젝션
    34.5.6. 추가 실습
    34.6. 예제 소스코드
    34.6.1. DllMain( )
    34.6.2. NewInternetConnectW( )
    34.6.3. NewZwResumeThread( )
    34.7. 마무리

    35장 좋은 분석 도구를 선택하는 5가지 기준
    35.1. 도구
    35.2. Reverse Code Engineer
    35.3. 좋은 분석 도구 선택의 5가지 기준
    35.3.1. 도구 개수를 최소화한다.
    35.3.2. 도구는 기능이 단순하고 사용방법이 편리한 것이 좋다.
    35.3.3. 기능을 철저히 익힌다.
    35.3.4. 꾸준히 업데이트한다.
    35.3.5. 도구의 핵심 동작 원리를 이해한다.
    35.4. 숙련도의 중요성

    5부 64비트 & Windows Kernel 6

    36장 64bit Computing
    36.1. 64비트 컴퓨팅 환경
    36.1.1. 64비트 CPU
    36.1.2. 64비트 OS
    36.1.3. Win32 API
    36.1.4. WOW64
    36.1.5. 실습 - WOW64Test
    36.2. 64비트 빌드
    36.2.1. Microsoft Windows SDK(Software Development Kit)
    36.2.2. Visual C++ 2010 Express 환경 설정

    37장 x64 프로세서 이야기
    37.1. x64에서 추가/변경된 사항
    37.1.1. 64비트
    37.1.2. 메모리
    37.1.3. 범용 레지스터 in x64
    37.1.4. CALL/JMP Instruction
    37.1.5. 함수 호출 규약
    37.1.6. 스택 & 스택 프레임
    37.2. 실습 - Stack64.exe & Stack32.exe
    37.2.1. Stack32.exe
    37.2.2. Stack64.exe
    37.2. 마무리

    38장 PE32+
    38.1. PE32+ (PE+, PE64)
    38.1.1. IMAGE­NT­HEADERS
    38.1.2. IMAGE­FILE­HEADER
    38.1.3. IMAGE­OPTIONAL­HEADER
    38.1.4. IMAGE­THUNK­DATA
    38.1.5. IMAGE­TLS­DIRECTORY64

    39장 WinDbg
    39.1. WinDbg
    39.1.1. WinDbg 특징
    39.1.2. WinDbg 실행
    39.1.3. 커널 디버깅
    39.1.4. WinDbg 기본 명령어

    40장 64bit Debugging
    40.1. x64 환경에서의 디버거 선택 627
    40.2. 64비트 디버깅 628
    40.2.1. 실습 예제 ? WOW64Test
    40.3. PE32 : WOW64Test­x86.exe
    40.3.1. EP 코드
    40.3.2. Startup 코드
    40.3.3. main( ) 함수
    40.4. PE32+ : WOW64Test­x64.exe
    40.4.1. System Breakpoint
    40.4.2. EP 코드
    40.4.3. Startup 코드
    40.4.4. main( ) 함수
    40.5. 마무리

    41장 ASLR
    41.1. Windows Kernel Version
    41.2. ASLR
    41.3. Visual C++
    41.4. ASLR.exe
    41.4.1. 섹션 정보
    41.4.2. IMAGE­FILE­HEADER \ Characteristics
    41.4.3. IMAGE­OPTIONAL­HEADER \ DLL Characteristics
    41.5. 실습 - ASLR 기능 제거
    41.5.1. ASLR 기능 제거

    42장 Session in Kernel 6
    42.1. 세션
    42.2. Session 0 Isolation
    42.3. 보안 강화

    43장 DLL Injection in Kernel 6
    43.1. DLL 인젝션 실패 재현
    43.1.1. 소스코드
    43.1.2. 인젝션 테스트
    43.2. 원인 분석
    43.2.1. 디버깅 #1
    43.2.2. 디버깅 #2
    43.3. 실습 - CreateRemoteThread ( ) 성공시키는 방법
    43.3.1. 방법 #1 - CreateSuspended 파라미터 변경
    43.3.2. 방법 #2 - 조건 분기 조작
    43.4. 간단 정리
    43.5. InjectDll­new.exe
    43.5.1. InjectDll­new.cpp
    43.5.2. 인젝션 실습

    44장 InjDll.exe - DLL Injection 전용 도구
    44.1. InjDll.exe
    44.1.1. 사용방법
    44.1.2. 사용 예
    44.1.3. 주의사항

    6부 고급 리버싱

    45장 TLS Callback Function
    45.1. 실습 #1 - HelloTls.exe
    45.2. TLS
    45.2.1. IMAGE­DATA­DIRECTORY[9]
    45.2.2. IMAGE­TLS­DIRECTORY
    45.2.3. 콜백 함수 주소 배열
    45.3. TLS 콜백 함수
    45.3.1. IMAGE­TLS­CALLBACK
    45.4. 실습 #2 - TlsTest.exe
    45.4.1. DLL­PROCESS­ATTACH
    45.4.2. DLL­THREAD­ATTACH
    45.4.3. DLL­THREAD­DETACH
    45.4.4. DLL­PROCESS­DETACH
    45.5. TLS 콜백 디버깅
    45.6. 수작업으로 TLS 콜백 함수 추가하기
    45.6.1. 실습 재료
    45.6.2. 설계
    45.6.3. PE 헤더 편집
    45.6.4. IMAGE­TLS­DIRECTORY 구성
    45.6.5. TLS 콜백 함수 프로그래밍
    45.6.6. 최종 완성
    45.7. 마무리

    46장 TEB
    46.1. TEB
    46.1.1. TEB 구조체 정의
    46.1.2. TEB 구조체 내용
    46.1.3. 중요 멤버
    46.2. TEB 접근 방법
    46.2.1. Ntdll.NtCurrentTeb ( )
    46.2.2. FS 세그먼트 레지스터
    46.3. 마무리

    47장 PEB
    47.1. PEB
    47.1.1. PEB 접근 방법
    47.1.2. PEB 구조체 정의
    47.1.3. PEB 구조체 내용
    47.2. PEB 중요 멤버 설명
    47.2.1. PEB.BeingDebugged
    47.2.2. PEB.ImageBaseAddress
    47.2.3. PEB.Ldr
    47.2.4. PEB.ProcessHeap & PEB.NtGlobalFlag
    47.3. 마무리

    48장 SEH
    48.1. SEH
    48.1.1. 기본 설명
    48.2. SEH 예제 실습 #1
    48.2.1. 일반 실행
    48.2.2. 디버거에서 실행
    48.3. OS의 예외 처리 방법
    48.3.1. 일반 실행의 경우 예외 처리 방법
    48.3.2. 디버깅 실행의 경우 예외 처리 방법
    48.4. 예외
    48.4.1. EXCEPTION­ACCESS­VIOLATION(C0000005)
    48.4.2. EXCEPTION­BREAKPOINT(80000003)
    48.4.3. EXCEPTION­ILLEGAL­INSTRUCTION(C000001D)
    48.4.4. EXCEPTION­INT­DIVIDE­BY­ZERO(C0000094)
    48.4.5. EXCEPTION­SINGLE­STEP(80000004)
    48.5. SEH 상세 설명
    48.5.1. SEH Chain
    48.5.2. 함수 정의
    48.5.3. TEB.NtTib.ExceptionList
    48.5.4. SEH 설치 방법
    48.6. SEH 예제 실습 #2 (seh.exe)
    48.6.1. SEH 체인 확인
    48.6.2. SEH 추가
    48.6.3. 예외 발생
    48.6.4. 예외 처리기 파라미터 확인
    48.6.5. 예외 처리기 디버깅
    48.6.6. SEH 제거
    48.7. OllyDbg 옵션 설정
    48.7.1. KERNEL32 예외 무시
    48.7.2. 예외를 디버기에게 전달
    48.7.3. 기타 예외 처리
    48.7.4. 간단 실습
    48.8. 마무리

    49장 IA-32 Instruction
    49.1. IA-32 Instruction
    49.2. 용어 정리
    49.2.1. Disassembler
    49.2.2. Decompiler
    49.2.3. Decompile 간단 소개
    49.3. IA-32 Instruction Format
    49.3.1. Instruction Prefixes
    49.3.2. Opcode
    49.3.3. ModR/M
    49.3.4. SIB
    49.3.5. Displacement
    49.3.6. Immediate
    49.4. Instruction 해석 매뉴얼
    49.4.1. IA-32 Manuals 다운로드
    49.4.2. Instruction 해석 메뉴얼 출력
    49.5. Instruction 해석 실습
    49.5.1. Opcode Map
    49.5.2. Operand
    49.5.3. ModR/M
    49.5.4. Group
    49.5.5. Prefix
    49.5.6. 2바이트 Opcode
    49.5.7. Displacement & Immediate
    49.5.8. SIB
    49.6. Instruction 해석 추가 연습
    49.7. 마무리

    7부 Anti-Debugging

    50장 Anti-Debugging
    50.1. 안티 디버깅 기법
    50.1.1. 의존성
    50.1.2. 다양한 기법
    50.2. 안티 안티 디버깅 기법
    50.3. 안티 디버깅 분류
    50.3.1. Static Anti-Debugging
    50.3.2. Dynamic Anti-Debugging

    51장 Static Anti-Debugging
    51.1. Static Anti-Debugging의 목적
    51.2. PEB
    51.2.1. BeingDebugged(+0x2)
    51.2.2. Ldr (+0xC)
    51.2.3. Process Heap(+0x18)
    51.2.4. NtGlobalFlag(+0x68)
    51.2.5. 실습 - StaAD­PEB.exe
    51.2.6. 회피 방법
    51.3. NtQueryInformationProcess ( )
    51.3.1. ProcessDebugPort(0x7)
    51.3.2. ProcessDebugObjectHandle(0x1E)
    51.3.3. ProcessDebugFlags(0x1F)
    51.3.4. 실습 - StaAD­NtQIP.exe
    51.3.5. 회피 방법
    51.4. NtQuerySystemInformation ( )
    51.4.1. SystemKernelDebuggerInformation(0x23)
    51.4.2. 실습 - StaAD­NtQSI.exe
    51.4.3. 회피 방법
    51.5. NtQueryObject ( )
    51.5.1. 실습 - StaAD­NtQO.exe
    51.6. ZwSetInformationThread ( )
    51.6.1. 실습 - StaAD­ZwSIT.exe
    51.6.2. 회피 방법
    51.7. TLS Callback Function
    51.8. ETC
    51.8.1. 실습 - StaAD­FindWindow.exe
    51.8.2. 회피 방법
    51.9. 마무리

    52장 Dynamic Anti-Debugging
    52.1. Dynamic Anti-Debugging 코드의 목적
    52.2. Exceptions
    52.2.1. SEH
    52.2.2. SetUnhandledExceptionFilter( )
    52.3. Timing Check
    52.3.1. 시간 간격 측정 방법
    52.3.2. RDTSC
    52.4. Trap Flag
    52.4.1. Single Step
    52.4.2. INT 2D
    52.5. 0xCC Detection
    52.5.1. API Break Point
    52.5.2. Checksum 비교
    52.6. 마무리

    53장 Advanced Anti-Debugging
    53.1. 고급 안티 디버깅 기법
    53.2. 가비지 코드
    53.3. Breaking Code Alignment
    53.4. Encryption/Decryption
    53.4.1. 간단한 디코딩 코드의 경우
    53.4.2. 복잡한 디코딩 코드의 경우
    53.4.3. 특수한 경우 - 코드 재조합
    53.5. Stolen Bytes(Remove OEP)
    53.6. API Redirection
    53.6.1. 원본 코드
    53.6.2. API Redirection 예제 #1
    53.6.3. API Redirection 예제 #2
    53.7. Debug Blocker(Self Debugging)
    53.8. 마무리

    8부 디버깅 실습

    54장 디버깅 실습1 - 서비스
    54.1. 서비스 프로세스 동작 원리
    54.1.1. 서비스 제어기
    54.1.2. 서비스 시작과정의 이해
    54.2. DebugMe1.exe 예제 설명
    54.2.1. 서비스 설치
    54.2.2. 서비스 시작
    54.2.3. 소스코드
    54.3. Service 프로세스의 디버깅 이슈
    54.3.1. 문제는 SCM
    54.3.2. 디버거로 안 되는 것은 없다
    54.3.3. 정석대로 해보자
    54.4. 서비스 디버깅 실습
    54.4.1. 그냥 디버깅 - EIP 강제 셋팅
    54.4.2. 서비스 디버깅의 정석 - Attach 방식
    54.5. 마무리

    55장 디버깅 실습2 - Self Creation
    55.1. Self-Creation
    55.2. 동작 원리
    55.2.1. Create Child Process(SUSPEND mode)
    55.2.2. Change EIP
    55.2.3. Resume Main Thread
    55.3. 예제 소스코드 설명
    55.4. 디버깅 실습
    55.4.1. 고려 사항
    55.4.2. JIT(Just-In-Time) Debugging
    55.4.3. DebugMe2.exe
    55.5. 마무리

    56장 디버깅 실습3 - PE Image Switching
    56.1. PE Image
    56.2. PE Image Switching
    56.3. 예제 파일 - Fake.exe, Real.exe, DebugMe3.exe
    56.4. 디버깅 1
    56.4.1. Open - 실행 파라미터 입력
    56.4.2. main( )
    56.4.3. SubFunc­1 ( )
    56.4.4. CreateProcess(“fake.exe”, CREATE­SUSPENDED)
    56.4.5. SubFunc­2 ( )
    56.4.6. SubFunc­3 ( )
    56.5. 디버깅 2
    56.5.1. 아이디어
    56.5.2. EP에 무한루프 설치하기
    56.6. 마무리

    57장 디버깅 실습4 - Debug Blocker
    57.1. Debug Blocker
    57.2. 안티 디버깅 특성
    57.2.1. 부모 - 자식 관계
    57.2.2. 디버기 프로세스는 다른 디버거(예: OllyDbg)에서 디버깅을 할 수 없습니다.
    57.2.3. 디버거 프로세스를 종료하면 동시에 디버기 프로세스도 종료됩니다.
    57.2.4. 디버거에서 디버기의 코드를 조작합니다.
    57.2.5. 디버기의 예외(Exception)를 디버거에서 처리합니다.
    57.2. 디버깅 실습 - DebugMe4.exe
    57.3. 1차 시도
    57.3.1. 디버깅 시작 위치 선정
    57.3.2. main( )
    57.4. 2차 시도
    57.5. 3차 시도
    57.6. 4차 시도
    57.7. 5차 시도
    57.7.1. System Break Point
    57.7.2. EXCEPTION­ILLEGAL­INSTRUCTION (1)
    57.7.3. EXCEPTION­ILLEGAL­INSTRUCTION (2)
    57.8. 6차 시도
    57.8.1. 40121D (첫 번째 예외)
    57.8.2. 401299 (두 번째 예외)
    57.9. 7차 시도
    57.9.1. Static 방법
    57.9.2. Dynamic 방법
    57.10. 마무리

    책을 마치며
    1. 창의성과 경험(바둑과 장기 - 프로그래밍과 리버싱)
    바둑과 장기
    프로그래밍과 리버싱
    2. 독자님들께…

출판사 서평

리버서라면 꼭 알아야 할 핵심 원리를 모두 담았다!

리버싱이란 프로그램의 내부를 깊이 들여다보고 조작할 수 있는 기법이다. 이는 우리가 흔히 사용하는 상용 프로그램 등에도 가능하기 때문에 해킹의 방법으로 응용될 수 있다. 하지만 역시 리버싱은 일명 ‘리버서’라 불리는 악성 코드 분석가들의 특기이기도 하다. 무엇보다 리버싱 기법은 해커와 보안 전문가의 대결로만 이용되는 것은 아니다. 리버싱을 잘 활용하면 개발/테스트 단계에서 미처 발견하지 못한 버그나 취약점도 파악할 수 있고, 파일이나 메모리에 직접 접근하여 문제를 해결할 수 있다. 또한 전혀 새로운 기능을 추가해 프로그램의 기능을 향상시킬 수도 있어 매우 유용하다.
이 책은 이런 마법 같은 일들이 가능한 ‘리버싱’에 필요한 핵심 원리를 50여개 장을 통해 꼼꼼하게 설명한다. 무엇보다 저자가 오랫동안 안철수 연구소에서 경험을 토대로 직접 작성한 다양한 코드는 물론 리버서라면 꼭 알아야 할 다양한 리버싱 기법을 상세하게 소개하기 때문에 리버서를 꿈꾸는 개발자는 물론 실무를 경험해본 모두에게 도움을 준다.
무엇보다 이 책은 리버싱 기술과 그 동작 원리를 설명하는 데 집중한다. 즉 리버싱 기술의 단순한 소개에 그치지 않고, 각 기술의 핵심적인 원리를 깨닫게 하는 데 목표를 두고 있다. 이를 통해 기본기를 튼튼하게 다지는 것은 물론, 시간이 흘러도 가치가 변하지 않는 기술의 진수를 얻을 수 있다.
여러분이 리버싱 세계를 여행하고 싶다면, 이 책이 친근한 가이드가 되어 줄 것이다!

주요 내용

IA-32 Register
디버깅
크랙
PE File Format
실행 압축
Base Relocation Table
인라인 패치 실습
Windows 메시지 후킹
DLL Injection
DLL Ejection
Code Injection
API 후킹
‘스텔스’ 프로세스
글로벌 API 후킹
64bit Computing
ASLR
Session in Kernel 6
TEB
PEB
SEH
IA-32 Instruction
안티 디버깅

리버서가 되기를 원하는가? '개발자인 나에게도 필요한가?'라는 질문을 가지고 있다면, 이 책은 당신의 확실한 동반자가 될 것이다.
- 안철수연구소 정관진 책임연구원/패킷인사이드 블로그 운영자

보안은 다양한 분야의 폭넓고 깊이 있는 지식과 전문가를 필요로 하는데, 이 책은 보안 분야 전문가로서의 첫걸음을 가볍게 시작할 수 있도록 도움을 줄 것이다.
- 안철수연구소 중국 법인 분석 센터장, 한창규

기본정보

상품정보
ISBN 9788966260522
발행(출시)일자 2012년 09월 30일
쪽수 1030쪽
크기
240 * 188 * 60 mm / 1990 g
총권수 1권

Klover

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

리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
신고하기
다른 고객이 작성리뷰에 대해 불쾌함을 느끼는 경우 신고를 할 수 있으며, 신고 자가 일정수준 이상 누적되면 작성하신 리뷰가 노출되지 않을 수 있습니다.

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

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.

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

이 책의 첫 기록을 남겨주세요

교환/반품/품절 안내

상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

이벤트
TOP

저자 모두보기

저자(글)

매장별 재고 및 위치

할인쿠폰 다운로드

  • 쿠폰은 주문결제화면에서 사용 가능합니다.
  • 다운로드한 쿠폰은 마이 > 혜택/포인트 에서 확인 가능합니다.
  • 도서정가제 적용 대상 상품에 대해서는 정가의 10%까지 쿠폰 할인이 가능합니다.
  • 도서정가제 적용 대상 상품에 10% 할인이 되었다면, 해당 상품에는 사용하실 수
    없습니다.

적립예정포인트 안내

  • 통합포인트 안내

    • 통합포인트는 교보문고(인터넷, 매장), 핫트랙스(인터넷, 매장), 모바일 교보문고 등 다양한 곳에서 사용하실 수 있습니다.
    • 상품 주문 시, 해당 상품의 적립률에 따라 적립 예정 포인트가 자동 합산되고 주문하신 상품이 발송완료 된 후에 자동으로 적립됩니다.
    • 단, 쿠폰 및 마일리지, 통합포인트, e교환권 사용 시 적립 예정 통합포인트가 변동될 수 있으며 주문취소나 반품시에는 적립된 통합포인트가 다시 차감됩니다.
  • 통합포인트 적립 안내

    • 통합포인트는 도서정가제 범위 내에서 적용됩니다.
    • 추가적립 및 회원 혜택은 도서정가제 대상상품(국내도서, eBook등)으로만 주문시는 해당되지 않습니다.
  • 기본적립) 상품별 적립금액

    • 온라인교보문고에서 상품 구매시 상품의 적립률에 따라 적립됩니다.
    • 단 도서정가제 적용 대상인 국내도서,eBook은 15%내에서 할인율을 제외한 금액내로 적립됩니다.
  • 추가적립) 5만원 이상 구매시 통합포인트 2천원 추가적립

    • 5만원 이상 구매시 통합포인트 2천원 적립됩니다.
    • 도서정가제 예외상품(외서,음반,DVD,잡지(일부),기프트) 2천원 이상 포함시 적립 가능합니다.
    • 주문하신 상품이 전체 품절인 경우 적립되지 않습니다.
  • 회원혜택) 3만원이상 구매시 회원등급별 2~4% 추가적립

    • 회원등급이 플래티넘, 골드, 실버 등급의 경우 추가적립 됩니다.
    • 추가적립은 실결제액 기준(쿠폰 및 마일리지, 통합포인트, e교환권 사용액 제외) 3만원 이상일 경우 적립됩니다.
    • 주문 후 취소,반품분의 통합포인트는 단품별로 회수되며, 반품으로 인해 결제잔액이 3만원 미만으로 변경될 경우 추가 통합포인트는 전액 회수될 수 있습니다.

제휴 포인트 안내

제휴 포인트 사용

  • OK CASHBAG 10원 단위사용 (사용금액 제한없음)
  • GS&POINT 최대 10만 원 사용
더보기

구매방법 별 배송안내

배송 일정 안내

  • 출고 예정일은 주문상품의 결제(입금)가 확인되는 날 기준으로 상품을 준비하여 상품 포장 후 교보문고 물류센터에서 택배사로 전달하게 되는 예상 일자입니다.
  • 도착 예정일은 출고 예정일에서 택배사의 배송일 (약1~2일)이 더해진 날이며 연휴 및 토, 일, 공휴일을 제외한 근무일 기준입니다.
배송 일정 안내
출고예정일 도착예정일
1일이내 상품주문 후 2~3일 이내
2일이내 상품주문 후 3~4일 이내
3일이내 상품주문 후 4~5일 이내
4일이내 상품주문 후 5~6일 이내

연휴 및 토, 일, 공휴일은 제외됩니다.

당일배송 유의사항

  • 수도권 외 지역에서 선물포장하기 또는 사은품을 포함하여 주문할 경우 당일배송 불가
  • 회사에서 수령할 경우 당일배송 불가 (퇴근시간 이후 도착 또는 익일 배송 될 수 있음)
  • 무통장입금 주문 후 당일 배송 가능 시간 이후 입금된 경우 당일 배송 불가
  • 주문 후 배송지 변경 시 변경된 배송지에 따라 익일 배송될 수 있습니다.
  • 수도권 외 지역의 경우 효율적인 배송을 위해 각 지역 매장에서 택배를 발송하므로, 주문 시의 부록과 상이할 수 있습니다.
  • 각 지역 매장에서 재고 부족 시 재고 확보를 위해 당일 배송이 불가할 수 있습니다.

일반배송 시 유의사항

  • 날씨나 택배사의 사정에 따라 배송이 지연될 수 있습니다.
  • 수도권 외 지역 바로배송 서비스의 경우 경품 수령 선택 여부에 따라 도착 예정일이 변경됩니다.
  • 출고 예정일이 5일 이상인 상품의 경우(결제일로부터 7일 동안 미입고), 출판사 / 유통사 사정으로 품/절판 되어 구입이 어려울 수 있습니다. 이 경우 SMS, 메일로 알려드립니다.
  • 선물포장 주문 시 합배송 처리되며, 일부상품 품절 시 도착 예정일이 늦어질 수 있습니다.
  • 분철상품 주문 시 분철 작업으로 인해 기존 도착 예정일에 2일 정도 추가되며, 당일 배송, 해외 배송이 불가합니다.

해외주문 시 유의사항

  • 해외주문도서는 해외 거래처 사정에 의해 품절/지연될 수 있습니다.

Special order 주문 시 유의사항

  • 스페셜오더 도서나 일서 해외 주문 도서와 함께 주문 시 배송일이 이에 맞추어 지연되오니, 이점 유의해 주시기 바랍니다.

바로드림존에서 받기

  1. STEP 01
    매장 선택 후 바로드림 주문
  2. STEP 02
    준비완료 알림 시 매장 방문하기
  3. STEP 03
    바로드림존에서 주문상품 받기
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상 시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함 되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해 주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반 코너에서 수령확인이 가능합니다
  • 선물 받는 분의 휴대폰번호만 입력하신 후 결제하시면 받는 분 휴대폰으로 선물번호가 전달됩니다.
  • 문자를 받은 분께서는 마이 > 주문관리 > 모바일 선물내역 화면에서 선물번호와 배송지 정보를 입력하시면 선물주문이 완료되어 상품준비 및 배송이 진행됩니다.
  • 선물하기 결제하신 후 14일까지 받는 분이 선물번호를 등록하지 않으실 경우 주문은 자동취소 됩니다.
  • 또한 배송 전 상품이 품절 / 절판 될 경우 주문은 자동취소 됩니다.

바로드림 서비스 안내

  1. STEP 01
    매장 선택 후 바로드림 주문
  2. STEP 02
    준비완료 알림 시 매장 방문하기
  3. STEP 03
    바로드림존에서 주문상품 받기
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반코너에서 수령확인이 가능합니다.
  1. STEP 01
    픽업박스에서 찾기 주문
  2. STEP 02
    도서준비완료 후 휴대폰으로 인증번호 전송
  3. STEP 03
    매장 방문하여 픽업박스에서 인증번호 입력 후 도서 픽업
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반코너에서 수령확인이 가능합니다.

도서 소득공제 안내

  • 도서 소득공제란?

    • 2018년 7월 1일 부터 근로소득자가 신용카드 등으로 도서구입 및 공연을 관람하기 위해 사용한 금액이 추가 공제됩니다. (추가 공제한도 100만원까지 인정)
      • 총 급여 7,000만 원 이하 근로소득자 중 신용카드, 직불카드 등 사용액이 총급여의 25%가 넘는 사람에게 적용
      • 현재 ‘신용카드 등 사용금액’의 소득 공제한도는 300만 원이고 신용카드사용액의 공제율은 15%이지만, 도서·공연 사용분은 추가로 100만 원의 소득 공제한도가 인정되고 공제율은 30%로 적용
      • 시행시기 이후 도서·공연 사용액에 대해서는 “2018년 귀속 근로소득 연말 정산”시기(19.1.15~)에 국세청 홈택스 연말정산간소화 서비스 제공
  • 도서 소득공제 대상

    • 도서(내서,외서,해외주문도서), eBook(구매)
    • 도서 소득공제 대상 상품에 수반되는 국내 배송비 (해외 배송비 제외)
      • 제외상품 : 잡지 등 정기 간행물, 음반, DVD, 기프트, eBook(대여,학술논문), 사은품, 선물포장, 책 그리고 꽃
      • 상품정보의 “소득공제” 표기를 참고하시기 바랍니다.
  • 도서 소득공제 가능 결제수단

    • 카드결제 : 신용카드(개인카드에 한함)
    • 현금결제 : 예치금, 교보e캐시(충전에한함), 해피머니상품권, 컬쳐캐쉬, 기프트 카드, 실시간계좌이체, 온라인입금
    • 간편결제 : 교보페이, 네이버페이, 삼성페이, 카카오페이, PAYCO, 토스, CHAI
      • 현금결제는 현금영수증을 개인소득공제용으로 신청 시에만 도서 소득공제 됩니다.
      • 교보e캐시 도서 소득공제 금액은 교보eBook > e캐시 > 충전/사용내역에서 확인 가능합니다.
      • SKpay, 휴대폰 결제, 교보캐시는 도서 소득공제 불가
  • 부분 취소 안내

    • 대상상품+제외상품을 주문하여 신용카드 "2회 결제하기"를 선택 한 경우, 부분취소/반품 시 예치금으로 환원됩니다.

      신용카드 결제 후 예치금으로 환원 된 경우 승인취소 되지 않습니다.

  • 도서 소득공제 불가 안내

    • 법인카드로 결제 한 경우
    • 현금영수증을 사업자증빙용으로 신청 한 경우
    • 분철신청시 발생되는 분철비용

알림 신청

아래의 알림 신청 시 원하시는 소식을 받아 보실 수 있습니다.
알림신청 취소는 마이룸 > 알림신청내역에서 가능합니다.

리버싱 핵심 원리
악성 코드 분석가의 리버싱 이야기
한달 후 리뷰
/ 좋았어요
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 올해 주식 투자를 시작했다. 아무것도 모르고 초심자의 행운으로 분유값 정도를 벌고 나니, 조금 더 공부해보고 싶어져서 『초격차 투자법』을 구매했다.
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
기대가됩니다~
기대가됩니다~
기대가됩니다~
이 구매자의 첫 리뷰 보기
/ 좋았어요
하루밤 사이 책한권을 읽은게 처음이듯 하다. 저녁나절 책을 집어든게 잘못이다. 마치 게임에 빠진 아이처럼 잠을 잘수없게 만든다. 결말이 어쩌면 당연해보이는 듯 하여도 헤어나올수 없는 긴박함이 있다. 조만간 영화화되어지지 않을까 예견해 본다. 책한권으로 등의 근육들이 오그라진 느낌에 아직도 느껴진다. 하루밤 사이 책한권을 읽은게 처음이듯 하다. 저녁나절 책을 집어든게 잘못이다. 마치 게임에 빠진 아이 처럼 잠을 잘수없게 만든다. 결말이 어쩌면 당연해보이는 듯 하여도 헤어나올수 없는 긴박함이 있다. 조만간 영화화되어지지 않을까..
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
신고

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

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

판형알림

  • A3 [297×420mm]
  • A4 [210×297mm]
  • A5 [148×210mm]
  • A6 [105×148mm]
  • B4 [257×364mm]
  • B5 [182×257mm]
  • B6 [128×182mm]
  • 8C [8절]
  • 기타 [가로×세로]
EBS X 교보문고 고객님을 위한 5,000원 열공 혜택!
자세히 보기