The IDA Pro Book(한국어판)
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자(글) 크리스 이글
저자 크리스 이글(Chris Eagle)은 캘리포니아 몬테레이의 네이벌(Naval) 대학원에서 컴퓨터 과학과 부교수로 재직 중이다. 다수의 IDA 플러그인을 개발한 프로그래머이며, 『Gray Hat Hacking』(McGraw-Hill)의 공동 저자다. 블랙햇(Blackhat), 데프콘(Defcon), 투어콘(Toorcon), 시무콘(Shmoocon) 등의 보안 컨퍼런스에서도 발표한 바 있다.
번역 고현영
역자 고현영은 광운대학교 전자통신공학과와 동대학원을 졸업했다. 현재 Made In Heaven이라는 IT회사에서 근무 중이다. 보안과 클라우드 컴퓨팅에 관심이 많고, 번역서로는 『구글앱스 활용과 관리』(비팬북스), 『OBJECTIVE-C 프로그래밍』(비팬북스), 『Ajax 보안』(에이콘출판) 등이 있다.
목차
- 1부 IDA 소개
1장 디스어셈블리 소개
___디스어셈블리 이론
___디스어셈블리란?
___디스어셈블리가 필요한 이유
___디스어셈블리의 방법
2장 리버싱과 디스어셈블리 툴
___분류 툴
___요약 툴
___심층 조사 툴
3장 IDA 프로 배경 지식
___헥스레이 사의 저작권 침해 대책
___IDA Pro의 획득
___IDA 지원 사이트
___IDA 설치
___IDA 사용자 인터페이스 고찰
2부 IDA 기본 사용법
4장 IDA 시작
___IDA 시작
___IDA 데이터베이스 파일
___IDA 데스크탑 소개
___초기 분석 과정 중 데스크탑의 진행 상황
___IDA 데스크탑 팁과 트릭
___버그 보고
5장 IDA 데이터 디스플레이
___기본 IDA 디스플레이
___보조 디스플레이 화면
___기타 IDA 디스플레이
6장 디스어셈블리 살펴보기
___기본 탐색 기능
___스택 프레임
___데이터베이스 검색
7장 디스어셈블리 다루기
___이름과 이름 지정
___IDA의 주석
___기본 코드 변환
8장 데이터 타입과 데이터 구조
___데이터 구조 파악
___IDA 구조체 생성
___구조체 템플릿 활용
___신규 구조체 가져오기
___표준 구조체 활용
___IDA TIL 파일
___C++ 리버스 엔지니어링 기초
9장 상호 참조와 그래프
___상호 참조
___IDA 그래프
10장 여러 가지 IDA
___콘솔 모드 IDA
___IDA 일괄처리 모드 사용
___3부 IDA 고급 사용법
11장 IDA 커스터마이징
___환경설정 파일
___기타 IDA 환경설정 파일 옵션
12장 FLIRT 시그니처로 라이브러리 인식
___고속 라이브러리 식별과 인식 기술
___FLIRT 시그니처 적용
___FLIRT 시그니처 파일 생성
13장 IDA 심층 탐구
___추가된 함수 정보
___loadint로 미리 정의된 주석 보강
14장 바이너리 패칭과 IDA 제약 사항
___혼란을 야기하는 메뉴
___IDA 출력 파일과 패치
15장 IDC 스크립팅
___기본적인 스크립트 실행
___IDC 언어
___IDC 스크립트 단축키
___유용한 IDC 함수
___IDC 스크립트 예제
___IDAPython 스크립트 예제
16장 IDA SDK
___SDK 소개
___IDA API
17장 IDA 플러그인 아키텍처
___플러그인 개발
___플러그인 작성
___플러그인 설치
___플러그인 환경설정
___IDC 확장
___플러그인 사용자 인터페이스 옵션
___스크립트 플러그인
18장 바이너리 파일과 IDA 로더 모듈
___알지 못하는 파일 분석
___수작업으로 PE 파일 로딩
___IDA 로더 모듈
___IDA 로더 작성
___다른 로더 전략
___스크립트 로더 작성
19장 IDA 프로세서 모듈
___파이썬 바이트 코드
___파이썬 인터프리터
___프로세서 모듈 빌드
___프로세서 모듈 아키텍처
___프로세서 모듈 스크립트
5부 실제 애플리케이션
20장 다양한 컴파일러
___점프 테이블과 switch문
___RTTI 구현
___디버그 바이너리와 릴리스 바이너리
___기타 호출 규약
21장 난독화된 코드 분석
___안티정적 분석 기법
___안티동적 분석 기법
___IDA를 이용한 정적 바이너리 역난독화
___가상 머신 기반 난독화
22장 취약점 분석
___신규 취약점 발견
___IDA로 취약점을 발견한 후
___IDA와 취약점 개발 절차
___셸코드 분석
23장 실제 IDA 플러그인
___IDAPython
___collabREate
___ida-x86emu
___MyNav
6부 IDA 디버거
24장 IDA 디버거
___디버거 시작
___디버거 디스플레이
___프로세스 제어
___디버깅 자동화
25장 디스어셈블러/디버거 통합
___배경
___IDA 데이터베이스와 디버거
___난독화 코드 디버깅
___IdaStealth
___예외 처리
26장 추가 디버거 기능
___IDA를 이용한 원격 디버깅
___Bochs 활용 디버깅
___Appcall
부록 A IDA 5.0 무료 버전 사용
___IDA 무료 버전 제약 사항
___IDA 무료 버전 사용
부록 B IDC/SDK 상호 참조
출판사 서평
IDA Pro를 사용해보고 싶은데 어떻게 시작해야 할지 잘 모른다면 이 책으로 시작해보길 바란다. 이 책은 IDA Pro에 대한 훌륭한 가이드로, IDA Pro의 구성부터 기본적인 기능, 스크립트와 SDK를 활용한 당면한 문제를 쉽게 해결할 수 있는 방법 등 IDA의 모든 것을 알려준다. 이 책을 보고 나면 IDA Pro를 이용한 리버스 엔지니어링의 마스터가 되어 있을 것이다.
소스코드가 없는가? 이제는 문제 없다. 똑똑한 디스어셈블러 IDA Pro를 사용하면 소스코드 이상의 세계를 만날 수 있다. IDA는 실행 파일에 있는 수백만 개의 opcode를 분석해 디스어셈블리 코드를 제공해준다. 하지만 이는 단지 시작 단계일 뿐이다. ?이 책을 본다면 수많은 니모닉을 사용할 수 있는 단계로 만들어 줄 것이다.
IDA Pro의 창시자가 ‘엄청난, 종합적인, 정확한’이라는 말로 묘사했을 정도로 『The IDA Pro Book (2nd Edition) 한국어판』은 시작 단계부터 고급 자동화 단계까지 모든 것을 다룬다. 새로 도입된 Qt 기반 사용자 인터페이스와 좀 더 상세한 IDA 디버거 설명, Bochs 디버거, IDA 스크립팅(특히 IDAPython)을 만나게 된다. 하지만 사람이 컴퓨터보다 현명하기 때문에 IDA의 최신 기술을 사용하는 법, 고급 기술을 스크립트로 활용하는 방법을 스스로 터득하게 될 것이다.
멀웨어를 분석하든, 취약점 분석을 하든, 리버스 엔지니어링 소프트웨어이든 IDA Pro를 숙달하면 원하는 결과를 내는 확률을 높일 수 있다. 『The IDA Pro Book (2nd Edition) 한국어판』은 여러분의 실력을 한 단계 높여줄 것이다.
★ 이 책에서 다루는 내용 ★
■ 내비게이션, 주석, 디스어셈블리를 수정할 수 있다.
■ 라이브러리 루틴 파악으로 사용자 코드에 좀 더 집중할 수 있다.
■ 코드 그래프 기능으로 상호 참조와 함수 호출 관계를 쉽게 파악할 수 있다.
■ SDK로 신규 프로세서와 파일 타입을 지원 가능하게 한다.
■ IDA 스크립트를 좀 더 쉽게 만들 수 있는 플러그인을 찾는다. 공동으로 리버스 엔지니어링 작업 등을 할 수 있다.
■ IDA의 내장 디버거로 어렵고 난해한 코드를 파헤칠 수 있다.
★ 이 책에 쏟아진 각계의 찬사 ★
IDA Pro 사용자에게 이 책을 강력히 추천합니다.
- 일파크 귈파노프(Ilfak Guilfanov), IDA Pro 창시자
매우 간결하고, 조심스럽게 만들어진 단계별 예제와, IDA의 모든 부분에서 필요한 정보를 상세하게 다룬 정말 멋진 책입니다.
- 코디 피어스(Cody Pierce), DVLabs 티핑 포인트
크리스 이글은 분명 훌륭한 교육자입니다. 난해하고 기술적인 내용도 읽고 이해하기 쉽게 만드는 재주가 있죠. 그리고 그가 택한 예제도 훌륭합니다.
- 디노 다이 조비(Dino Dai Zovi), Trail Of Bits 블로그
IDA Pro 자체뿐 아니라 그 이상을 이해하게 해주는 상당량의 자료입니다. 게다가 RE 프로세스까지 알게 해줍니다.
- 라이언 린(Ryan Linn), The Ethical Hacker Network
버릴 것이 전혀 없는, 주옥 같은 정보만 가득 모은 책
- 에릭 헐스(Eric Hulse), Carnal0wnage 블로그
함축적이고, 가장 정확하며, 게다가 이제껏 만난 IDA Pro 책 중 그야말로 최고의 책
- 피에르 반디베니(Pierre Vandevenne), DataRescue SA의 설립자이자 CEO
IDA Pro를 시작하려는 초보부터 전문가까지 모두에게 이 책을 강력히 추천합니다.
- 더스틴 D. 트라멜(Dustin D. Trammell), 보안 연구가
이 책은 정말 꼭 사야 한다고 강력히 추천합니다. 책의 내용이 매우 좋고, 이전에 제가 읽은 그 어느 책보다(IDA Pro 매뉴얼도 포함해서) 철저하게 IDA Pro를 다룹니다.
- 세바스티앙 포스트(Sebastian Porst), 마이크로소프트 수석 소프트웨어 보안 엔지니어
애플리케이션 내외부적으로 보안 결함이 없는지 시험하고자 하거나 풀기 힘든 런타임 결함을 해결하고자 할 때 IDA Pro는 가장 좋은 툴입니다. 그리고 이 책은 가장 신속한 안내서가 될 것입니다.
- 조 스태그너(JOE STAGNER), 마이크로소프트 프로그램 매니저
★ 저자 서문 ★
『The IDA Pro Book (2nd Edition)』을 쓰는 일은 내게 굉장히 도전이 되는 일이었다. IDA Pro는 사람들이 언급한 것보다 매우 복잡한 소프트웨어였고, 한 권의 책에 어느 정도의 내용을 담을 것인지 결정하는 어려운 문제도 쉬운 축에 속할 정도였으니…… IDA의 새 버전이 나와도 기존에 출간된 초판 내용으로도 충분했으며, 그렇지 않더라도 보통 여러 군데서 정보를 얻을 수 있어서 크게 문제가 되지 않았다.
IDA 5.3 버전의 내용을 다룬 초판을 출간한 후에 IDA는 계속해서 새로운 버전이 출시됐다. Qt 기반 그래프 사용자 인터페이스를 도입한 IDA 6.0 버전을 봤을 때 나는 책 내용을 업데이트해야 할 필요성을 느꼈다. 물론 여러 신규 기능을 추가해야 할 필요도 있었다. 책을 집필하는 도중 6.1 버전이 나오면서 책의 집필 방향에 대해 또 고민했다.
개정판의 목적은 IDA를 다뤄보려는 사람들을 위한 가이드를 제공하며 리버스 엔지니어링에 대한 관심을 높이는 데 있다. 리버스 엔지니어링에 관심 있는 사람이라면 프로그램 개발에 아주 능숙해야 한다고 강조할 생각은 없다. 사실, 코드를 사랑하고 어쩌면 코드를 먹기 좋아하고, 코드와 같이 잠자고, 코드와 함께 숨 쉬는 정도면 되지 않을까 생각한다. 프로그래밍하는 데 겁을 먹는 사람에게 리버스 엔지니어링은 약간 맞지 않을 수도 있다. 리버스 엔지니어링은 다른 사람이 짜놓은 코드의 부분 부분을 보는 것이기 때문에 프로그래밍과는 관련이 없다고 말하는 사람도 있을지 모른다. 하지만 스크립트를 개발하고 작업을 수월하게 하고자 플러그인을 개발하지 않는다면 효과적인 리버스 엔지니어링은 어려울 것이다. 내 경우에는 프로그래밍과 리버스 엔지니어링은 마치 일요판 「뉴욕타임스」에 실린 단어 맞추기 퍼즐과 같은 어려운 과제였다. 물론 재미는 있었다.
이 책의 또 다른 목적은, 초판의 전체적인 골격을 유지하면서 적합한 위치에 재미있는 내용을 추가로 넣는 것이다. 이 책을 읽는 방법은 여러 가지가 있다. 리버스 엔지니어링에 대한 배경 지식이 부족하다면 1, 2장에서부터 리버스 엔지니어링에 대한 기본 지식과 디스어셈블러에 대해 살펴보기를 바란다. IDA를 많이 사용해 보지 않았다면 IDA 설치 기본을 다룬 3장, IDA 시작과 분석할 파일을 로딩하는 방법을 다룬 4장, 5장부터 7장에 나온 IDA 사용자 인터페이스와 기본 기능을 살펴보길 추천한다.
기본적으로 IDA를 다룰 수 있다면, 복합 데이터 구조(C++의 클래스 포함)를 다룬 8장, 그리고 IDA의 상호 참조와 IDA 그래프 기반 디스플레이를 다룬 9장을 살펴보길 바란다. 10장에서 다룬 비윈도우 기반 플랫폼(리눅스, OS X)에서 IDA를 구동하는 다양한 방식도 살펴보기 바란다.
고급 IDA 사용자라면 11~14장부터 시작해도 좋다. 이 장들에서는 IDA의 고급 기능과 연동하는 툴을 다룬다. IDA의 환경설정은 11장에서 다루고, 12장은 IDA의 FLIRT/FLAIR 기술과 관련 툴, 그리고 애플리케이션 코드에서 라이브러리 코드를 구별하기 위한 시그니처의 활용 방법과 개발에 사용된 툴을 다룬다. 13장에서는 IDA의 타입 라이브러리를 설명하고 확장하는 방법을 다룬다. 14장의 내용은 IDA로 바이너리 파일을 패치할 때 생길 수 있는 궁금한 사항에 대한 답이 될 것이다.
IDA는 발군의 툴일 뿐만 아니라 확장성도 뛰어나다. 수년 동안 개발됐기 때문에 사용자들에게 유용하고 재미난 기능도 많이 볼 수 있다. IDA의 확장 기능은 15장에서 19장까지 다룬다. 여기에는 스크립트 기능과 IDAPython, IDA 프로그래밍 API(SDK로 제공)로 반복적인 작업을 쉽게 할 수 있는 방법도 언급한다. 16장은 SDK 개요, 17에서 19장까지는 플러그인, 파일 로더, 프로세서 모듈을 다룬다.
IDA의 여타 풍부한 기능은 20장에서 23장까지 하나씩 다룬다. 실제적인 예를 들면서 리버스 엔지니어링을 한다. 20장에서는 컴파일러들이 어떻게 다른지 설명한다. IDA로 난독화 코드를 어떻게 분석하는지 21장에서 멀웨어 분석 방법을 다루고, 22장에서는 취약점 분석과 프로세스 분석도 다룬다. 23장에서는 수년간 개발돼온 IDA의 확장 기능(플러그인)을 다룬다.
24~26장은 IDA의 내장 디버그 기능을 다룬다. 24장은 디버거의 기본 기능을 다루며, 25장은 디버거로 난독화 코드 분석, 현존하는 안티 디버깅 기능을 다루는 방법 등 어려운 과제에 도전해본다. 26장은 IDA의 원격 디버깅 기능과 통합된 디버깅 플랫폼으로 Bochs 에뮬레이터 사용 방법을 다룬다.
이 책을 쓸 시점에 IDA는 6.1 버전이 최신 버전이었기 때문에 6.1까지 다뤘다. 헥스레이즈(Hex-Rays) 사는 IDA의 구 버전을 무료로 제공한다. IDA의 무료 버전은 IDA 5.0의 기능을 축소한 것이다. 책에서 다룬 대부분의 기능은 무료 버전에서도 쓸 수 있다. 부록 A에서는 무료 버전과 상용 버전의 차이도 언급한다.
마지막으로 IDA 스크립트에서 컴파일 플러그인을 만들 정도로 단계를 밟는 편이 좋다. 부록 B에서는 IDC 함수와 대응되는 SDK를 다룬다. IDC와 SDK 함수(물론 이름은 다른 경우가 많지만)가 일대일로 대응되는 경우도 있지만, SDK에서 여러 개를 호출해야 하는 IDC 함수도 있다. 부록 B는 IDC에서 할 수 있는 작업을 플러그인에서는 어떻게 처리하는지에 대한 답이 될 것이다. 부록 B의 정보는 IDA의 커널을 리버스 엔지니어링해 얻은 정보이고, 이에 대해서는 IDA의 라이선스 정책에 부합된 방법임을 밝힌다.
책에서는 코드 중에서 중요한 부분에 집중하고자 긴 코드를 모두 다루지는 않았다. 방대한 예제 코드와 예제를 만드는 데 사용한 바이너리 파일은 책의 공식 웹사이트 http://www.idabook.com에 있고, 책에서 다루지 않은 풍부한 예제를 만날 수 있다. 또 책에서 언급한 참조 정보(보통 각주에 담은 URL 링크 정보 등)보다 더 많은 참조 정보를 얻을 수 있다.
에이콘출판사의 도서정보 페이지에서도 예제 코드와 바이너리 파일을 다운로드할 수 있다.
★ 옮긴이의 말 ★
프로그램이 발전함에 따라 리버스 엔지니어링에 대한 관심도 높아지고, “이 프로그램은 내부적으로 어떻게 돼 있을까”라는 관심을 갖고 분석을 시도하려는 사람 또한 많아지고 있습니다. 그리고 무엇보다도 보안 시장의 발달과 멀웨어 대응을 위해 리버스 엔지니어링의 필요성도 높아지고 있습니다. 리버스 엔지니어링을 하려면 운영체제에 대한 지식, 개발 언어에 대한 지식, OPCode에 대한 지식 등이 필요합니다. 하지만 지식과 더불어 이를 활용할 수 있는 툴도 매우 중요합니다. IDA Pro는 리버스 엔지니어링 툴로서 많은 도움을 줄 수 있습니다. IDA Pro는 기본적으로 어셈블리 코드를 보여줄 뿐 아니라, 사용된 컴파일러 분석, 라이브러리 분석까지 가능하게 해줍니다. 더 나아가 사용자가 플러그인을 개발할 수 있어 좀 더 수월하게 리버스 엔지니어링을 할 수 있습니다.
『The IDA Pro Book (2nd Edition) 한국어판』은 IDA Pro에 대한 훌륭한 안내서입니다. 이 책을 통해 IDA Pro의 사용법이나 리버스 엔지니어링에 필요한 지식을 빠르게 얻을 수 있습니다. IDA Pro에 대한 지식과 기능을 쉽고 빠르게 설명해주며, 문제 해결을 위한 접근법을 제시해줍니다. 리버스 엔지니어링을 시작하거나 문제를 해결하고자 하는 사람들에게 이 책은 많은 도움이 될 것입니다.
기본정보
ISBN | 9788960773325 | ||
---|---|---|---|
발행(출시)일자 | 2012년 08월 23일 | ||
쪽수 | 776쪽 | ||
크기 |
188 * 250
* 40
mm
/ 1560 g
|
||
총권수 | 1권 | ||
시리즈명 |
에이콘 해킹 보안 시리즈
|
||
원서명/저자명 | (The)IDA pro book. 2/E/Eagle, Chris |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립