logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

The Ghidra Book

The Ghidra Book

(기드라 리버스 엔지니어링 완벽 가이드)

크리스 이글, 카라 낸스 (지은이), 윤우빈 (옮긴이)
에이콘출판
45,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
40,500원 -10% 0원
2,250원
38,250원 >
40,500원 -10% 0원
카드할인 10%
4,050원
36,450원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

The Ghidra Book
eBook 미리보기

책 정보

· 제목 : The Ghidra Book (기드라 리버스 엔지니어링 완벽 가이드)
· 분류 : 국내도서 > 컴퓨터/모바일 > OS/Networking > 네트워크 보안/해킹
· ISBN : 9791161756912
· 쪽수 : 788쪽
· 출판일 : 2024-07-22

책 소개

기드라(Ghidra)를 이용한 리버스 엔지니어링을 마스터하고 싶은 사이버 보안 담당자를 위한 바이블이다. 이 책을 읽고 나면 기드라가 리버스 엔지니어링을 위해서 제공하는 모든 기능을 배울 수 있으며, 기드라를 이용해 모든 종류의 소프트웨어와 악성코드를 분석하는 능력을 갖춘 전문가가 될 수 있다.

목차

1부. 소개

1장. 디스어셈블리 소개
__디스어셈블리 이론
__디스어셈블리란
__디스어셈블리하는 이유
____악성코드 분석
____보안 취약점 분석
____소프트웨어 상호 운용
____컴파일러 검증
____디버깅 출력
__디스어셈블러의 동작 방식
____기본적인 디스어셈블리 알고리듬
____리니어 스윕 디스어셈블리
____재귀 하강 디스어셈블리
__요약

2장. 리버싱과 디스어셈블리 툴
__유형을 분류하기 위한 툴
____file
____PE Tools
____PEiD
__요약을 위한 툴
____nm
____ldd
____objdump
____otool
____dumpbin
____c++filt
__심층 분석 툴
____strings
____디스어셈블러
__요약

3장. 기드라를 만나다
__기드라 라이선스
__기드라 버전
__기드라 지원 리소스
__기드라 다운로드
__기드라 설치
____기드라 디렉터리 구조
____기드라 시작
__요약

2부. 기본적인 기드라 사용법

4장. 기드라 시작하기
__기드라 실행
__새로운 프로젝트 생성
____기드라 파일 로딩
____Raw Binary 로더
__기드라로 파일 분석
____자동 분석 결과
__초기 분석 과정의 작업 내용
____작업 내용 저장과 종료
__기드라 관련 팁과 트릭
__요약

5장. 기드라 데이터 디스플레이
__CodeBrowser
__CodeBrowser 창
____Listing 창
____추가적인 디스어셈블리 창 열기
____기드라의 Function Graph
____Program Trees 창
____Symbol Tree 창
____Data Type Manager 창
____Console 창
____Decompiler 창
__기타 기드라 창
____Bytes 창
____Defined Data 창
____Defined Strings 창
____Symbol Table 창과 Symbol References 창
____Memory Map 창
____Function Call Graph 창
__요약

6장. 기드라의 디스어셈블리 이해
__디스어셈블리 탐색
____이름과 라벨
____기드라에서 탐색
____Go To 대화상자
____탐색 히스토리
__스택 프레임
____함수 호출 메커니즘
____호출 규약
____스택 프레임에 대한 추가 고려 사항
____지역 변수 레이아웃
____스택 프레임 예
__기드라 스택 뷰
____기드라 스택 프레임 분석
____Listing 창에서의 스택 프레임
____디컴파일러의 스택 프레임 분석
____피연산자로서의 지역 변수
____기드라 스택 프레임 에디터
__검색
____Search Program Text 대화상자
____Search Memory 대화상자
__요약

7장. 디스어셈블리 코드 변경
__이름과 라벨 변경
____파라미터와 지역 변수의 이름 변경
____라벨 이름 변경
____새로운 라벨 추가
____라벨 편집
____라벨 제거
____라벨 탐색
__주석
____줄 끝 주석
____Pre 주석과 Post 주석
____Plate 주석
____Repeatable 주석
____파라미터와 지역 변수 주석
____어노테이션
__기본적인 코드 변환
____코드 표시 옵션 변경
____명령 피연산자의 형식 변경
____함수 변경
____데이터를 코드로 변환(또는 코드를 데이터로 변환)
__기본적인 데이터 변환
____데이터 타입 지정
____문자열 처리
____배열 정의
__요약

8장. 데이터 타입과 데이터 구조체
__데이터 이해하기
__데이터 구조체의 사용 형태 인식
____배열 요소에 대한 접근
____구조체 멤버에 대한 접근
__기드라에서 구조체 만들기
____새로운 구조체 만들기
____구조체 필드 수정
____구조체의 레이아웃 적용
__C++ 리버싱의 기본
____this 포인터
____가상 함수와 Vftable
____객체의 생명주기
____이름 맹글링
____런타임 타입 식별
____상속 관계
____C++ 리버스 엔지니어링 참고 자료
__요약

9장. 상호 참조
__참조에 대한 기본 지식
____상호 참조(역참조)
____참조 예
__상호 참조 관리 창
____XRefs 창
____References To 창
____Symbol References 창
____참조 추가와 변경
__요약

10장. 그래프
__기본 블록
__Function Graph 창
__Function Call Graph 창
__트리 뷰
__요약

3부. 자신을 위한 기드라 만들기

11장. 소프트웨어 리버스 엔지니어링 협업
__팀워크
__기드라 서버 설정
__공유 프로젝트
____공유 프로젝트 생성
____프로젝트 관리
__Project 창 메뉴
____File 메뉴
____Edit 메뉴
____Project 메뉴
__프로젝트 저장소
____버전 관리
____예제 시나리오
__요약

12장. 기드라 사용자 정의
__CodeBrowser
____창 재정렬
____Edit의 Tool Options 메뉴
____Tool 옵션
____특별한 툴 편집 기능
____CodeBrowser 레이아웃 저장
__기드라 Project 창
__Tools 메뉴
__워크스페이스
__요약

13장. 기드라의 세계관 확장
__파일 임포트
__분석기
__워드 모델
__데이터 타입
____새로운 데이터 타입 아카이브 생성
__Function ID
__Function ID 플러그인
____Function ID 플러그인 예제: UPX
____Function ID 플러그인 예제: 정적 라이브러리 프로파일링
__요약

14장. 기드라 스크립트
__Script Manager 메뉴
____Script Manager 창
____Script Manager 툴바
__스크립트 개발
____자바 스크립트 작성(JavaScript가 아님!)
____스크립트 편집 예제: 정규 표현 검색
____파이썬 스크립트
____다른 언어 지원
__Ghidra API 소개
____Address 인터페이스
____Symbol 인터페이스
____Reference 인터페이스
____GhidraScript 클래스
____Program 클래스
____Function 인터페이스
____Instruction 인터페이스
__기드라 스크립트 예제
____예제 1: 함수 나열
____예제 2: 명령 나열
____예제 3: 상호 참조 나열
____예제 4: 함수 호출 찾기
____예제 5: 어셈블리 언어 에뮬레이팅
__요약

15장. 이클립스와 기드라
__이클립스
____이클립스 통합
____이클립스 시작
____이클립스를 이용한 스크립트 편집
__GhidraDev 메뉴
____GhidraDev ➤ New
____Package Explorer 탐색
__예제: 기드라 분석기 모듈 프로젝트
____단계 1: 문제 정의
____단계 2: 이클립스 모듈 생성
____단계 3: 분석기 빌드
____단계 4: 이클립스에서 분석기 테스트
____단계 5: 기드라에 분석기 추가
____단계 6: 기드라에서 분석기 테스트
__요약

16장. 기드라 헤드리스 모드
__시작
____단계 1: 기드라 실행
____단계 2와 3: 새로운 기드라 프로젝트를 특정 위치에 생성
____단계 4: 프로젝트에 파일 임포트
____단계 5와 6: 파일을 자동 분석, 저장, 종료
____옵션과 파라미터
__스크립트 작성
____HeadlessSimpleROP
____자동화된 FidDb 작성
__요약

4부. 심층 분석

17장. 기드라 로더
__알려지지 않은 파일 형식 분석
__윈도우 PE 파일을 수동으로 로딩
__예제 1: SimpleShellcode 로더 모듈
____단계 0: 한발 물러나기
____단계 1: 문제를 정의
____단계 2: 이클립스 모듈을 생성
____단계 3: 로더를 빌드
____단계 4: 로더를 기드라에 추가
____단계 5: 기드라에서 로더를 테스트
__예제 2: 간단한 셸코드 소스 로더
____업데이트 1: 임포터에 대한 응답을 수정
____업데이트 2: 소스코드에서 셸코드 찾기
____업데이트 3: 셸코드를 바이트 값으로 변환
____업데이트 4: 바이트 배열을 로드
____결과
__예제 3: 간단한 ELF 셸코드 로더
____준비 작업
____ELF 헤더 형식
____로더의 바이너리 지원 명세 확인
____기드라에 파일 내용 로드
____데이터 바이트 형식 지정 및 엔트리 포인트 추가
____언어 정의 파일
____Opinion 파일
____결과
__요약

18장. 기드라 프로세서
__기드라 프로세서 모듈 이해
____이클립스 프로세서 모듈
____SLEIGH
____프로세서 매뉴얼
__기드라 프로세서 모듈 수정
____문제 설명
____예제 1: 프로세서 모듈에 명령 추가
____예제 2: 프로세서 모듈에 있는 명령 수정
____예제 3: 프로세서 모듈에 레지스터 추가
__요약

19장. 기드라 디컴파일러
__디컴파일러 분석
____분석 옵션
__Decompiler 창
____예제 1: Decompiler 창 편집
____예제 2: 반환하지 않는 함수
____예제 3: 자동화된 구조체 생성
__요약

20장. 컴파일러
__하이레벨 구조
____switch문
____예제: gcc와 마이크로소프트 C/C++ 컴파일러 비교
__컴파일러 빌드 옵션
____예제 1: 나머지 연산자
____예제 2: 삼항 연산자
____예제 3: 함수 인라인
__컴파일러의 C++ 구현
____함수 오버로딩
____RTTI 구현
__main 함수 찾기
____예제 1: 리눅스 x86-64에서 gcc로 _start에서 main 함수로 전환
____예제 2: FreeBSD x86-64에서 clang으로 _start에서 main 함수로 전환
____예제 3: 마이크로소프트 C/C++ 컴파일러로 _start에서 main 함수로 전환
__요약

5부. 실제 분석에 적용

21장. 난독화된 코드 분석
__안티리버스 엔지니어링
____난독화
____정적 분석 방지 기술
____임포트 함수 난독화
____동적 분석 방지 기술
__기드라를 이용한 바이너리의 정적 난독화 해제
____스크립트 기반의 난독화 해제
____에뮬레이션 기반의 난독화 해제
____단계 1: 문제 정의
____단계 2: 이클립스 스크립트 프로젝트 생성
____단계 3: 에뮬레이터 구현
____단계 4: 기드라에 스크립트 추가
____단계 5: 기드라에서 스크립트 테스트
__요약

22장. 바이너리 패치
__패치 계획
__변경 대상 찾기
____메모리 검색
____직접 참조 검색
____명령 패턴 검색
____특정 동작 찾기
__패치 적용
____간단한 패치
____좀 더 복잡한 패치
__파일 익스포트
____익스포트 형식
____바이너리 익스포트 형식
____스크립트 지원 익스포트
__예제: 바이너리 패치
__요약

23장. 바이너리 비교와 버전 추적
__바이너리 비교
____Program Diff 툴
____예제: 분석된 두 파일의 병합
__함수 비교
____Function Comparison 창
____예제: 암호화 루틴 비교
__버전 추적(트래킹)
____버전 추적 개념
__요약

부록. IDA 사용자를 위한 기드라
__기본 지식
____데이터베이스 생성
____기본적인 창과 탐색
__스크립트
__요약
찾아보기

저자소개

카라 낸스 (지은이)    정보 더보기
개인 보안 컨설턴트로, 수년 동안 컴퓨터공학 교수로 재직했다. 허니넷(Honeynet) 프로젝트의 이사회에서 활동했으며 세계적인 콘퍼런스에서 수많은 강연을 했다. 기드라 익스텐션 만들기를 좋아하며 정기적으로 기드라 교육을 제공한다.
펼치기
윤우빈 (옮긴이)    정보 더보기
기존의 IT 기술과 새로 만들어지고 있는 최신 기술을 보안이라는 관점에서 이해하고 새로운 기술, 비즈니스 영역의 새로운 보안 위협과 그에 대한 대응 기술을 고민하며, 에이콘출판사를 통해 다양한 보안 관련 지식을 공유하고자 노력하고 있다. 지금도 여전히 새로운 분야에 대한 보안 기술 연구와 다양한 보안 기술 개발을 위해 진땀 흘리고 있다.
펼치기
이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책