1부. Ghidra 소개
1장. Ghidra 시작
__기술적 요구 사항
__위키리크스 Vault 7
____NSA 릴리스
__IDA 및 기타 많은 경쟁업체 대비 Ghidra
__Ghidra 개요
____Ghidra 설치
____Ghidra의 특징 개요
__요약
__질문
2장. Ghidra 스크립트를 통한 리버스 엔지니어링 작업 자동화
__기술적 요구 사항
__기존 스크립트 사용과 적용
__스크립트 클래스
__스크립트 개발
__요약
__질문
3장. Ghidra 디버그 모드
__기술적 요구 사항
__Ghidra 개발 환경설정
__소프트웨어 요구 사항 개요
____자바 JDK 설치
____이클립스 IDE 설치
____PyDev 설치
____GhidraDev 설치
__Ghidra 코드와 Ghidra 스크립트 디버깅
____이클립스에서 Ghidra 스크립트 디버깅
____이클립스에서 Ghidra 구성 요소 디버깅
__Ghidra RCE 취약점
____Ghidra RCE 취약점 설명
____Ghidra RCE 취약점 공격
____Ghidra RCE 취약점 수정
____취약한 컴퓨터 찾기
__요약
__질문
__더 읽을거리
4장. Ghidra 확장 기능 사용
__기술적 요구 사항
__기존 Ghidra 확장 기능 설치
____Sample Table Provider 플러그인의 코드 분석
__Ghidra 확장 기능 스켈레톤의 이해
____분석기
____파일 시스템
____플러그인
____익스포터
____로더
__Ghidra 확장 기능 개발
__요약
__질문
__더 읽을거리
2부. 리버스 엔지니어링
5장. Ghidra를 사용한 악성코드 리버싱
__기술적 요구 사항
__환경설정
__악성코드 지표 찾기
____문자열 찾기
____인텔리전스 정보와 외부 소스
____import 함수 확인
__흥미로운 악성코드 샘플 부분 분석
____진입점 함수
____
◈ 이 책의 대상 독자 ◈
리버스 코드 엔지니어, 악성코드 분석가, 버그 헌터, 침투 테스터, 익스플로잇 개발자, 포렌식 전문가, 보안 연구자, 사이버 보안 학생을 대상으로 한다. 실제로 학습 곡선을 최소화하고 자신만의 도구를 쓰기 시작함으로써 Ghidra를 배우고자 하는 사람이라면 누구나 이 책을 즐기고 목표를 달성할 수 있다.
◈ 이 책의 구성 ◈
1장, ‘Ghidra 시작’에서는 Ghidra의 역사와 사용자 관점에서 프로그램의 개요를 다룬다.
2장, ‘Ghidra 스크립트를 통한 리버스 엔지니어링 작업 자동화’에서는 Ghidra 스크립트를 사용해 리버스 엔지니어링 작업을 자동화하는 방법을 설명하고 스크립트 개발을 소개한다.
3장, ‘Ghidra 디버그 모드’에서는 Ghidra 개발 환경설정 방법, Ghidra 디버그 방법, Ghidra 디버그 모드 취약점의 모든 내용을 다룬다.
4장, ‘Ghidra 확장 기능 사용’에서는 Ghidra 확장 기능을 설치하고 사용하는 방법을 보여줄 뿐만 아니라 Ghidra 기능을 개발하기 위한 배경을 설명한다.
5장, ‘Ghidra를 사용한 악성코드 리버싱’에서는 실제 악성코드 샘플을 리버싱해 악성코드 분석에 Ghidra를 사용하는 방법을 보여준다.
6장, ‘스크립팅 악성코드 분석’에서는 악성코드 샘플에서 발견된 셸코드 분석을 자바와 파이썬 두 언어를 모두 스크립팅해 5장의 내용에 이어서 설명한다.
7장, ‘Ghidra Headless Analyzer 사용’에서는 Ghidra Headless Analyzer를 설명하고 7장에서 개발한 스크립트로 획득한 악성코드 샘플에 적용한다.
8장, ‘Ghidra를 이용한 바이너리 감사’에서는 Ghidra로 메모리 손상 취약점을 찾고 이를 활용하는 방법을 설명한다.
9장, ‘스크립팅 바이너리 감사’에서는 8장에 이어 강력한 PCode 중간 표현을 활용해 스크립팅으로 버그 헌팅 프로세스를 자동화하는 방법을 설명한다.
10장, ‘Ghidra 플러그인 개발’에서