이 Ghidra 튜토리얼에서 배울 내용
기본 흐름은 프로젝트 생성, 파일 가져오기, 아키텍처 확인, 자동 분석, 함수 찾기, 어셈블리와 의사 코드 비교입니다.
각 결론을 뒷받침하는 주소, 참조, 조건을 기록하면서 증거 중심으로 한 단계씩 진행하세요.
- 기본 흐름은 프로젝트 생성, 파일 가져오기, 아키텍처 확인, 자동 분석, 함수 찾기, 어셈블리와 의사 코드 비교입니다.
- 각 결론을 뒷받침하는 주소, 참조, 조건을 기록하면서 증거 중심으로 한 단계씩 진행하세요.
- CodeBrowser + Listing + Decompiler
- XRefs + Function Graph
안전한 실습 환경 준비
직접 만든 프로그램, 오픈 소스 예제, 허가된 교육용 과제를 사용하세요. 알 수 없는 파일은 격리된 가상 머신에서 다루고 실행하지 않습니다.
각 결론을 뒷받침하는 주소, 참조, 조건을 기록하면서 증거 중심으로 한 단계씩 진행하세요.
직접 만든 프로그램, 오픈 소스 예제, 허가된 교육용 과제를 사용하세요. 알 수 없는 파일은 격리된 가상 머신에서 다루고 실행하지 않습니다.
프로젝트 생성, 가져오기, 자동 분석
비공유 프로젝트를 만들고 형식, 프로세서, 엔디언, 컴파일러 설정을 확인한 뒤 Auto Analysis를 실행합니다.
각 결론을 뒷받침하는 주소, 참조, 조건을 기록하면서 증거 중심으로 한 단계씩 진행하세요.
- 1
프로젝트
비공유 프로젝트를 만들고 형식, 프로세서, 엔디언, 컴파일러 설정을 확인한 뒤 Auto Analysis를 실행합니다.
- 2
가져오기
각 결론을 뒷받침하는 주소, 참조, 조건을 기록하면서 증거 중심으로 한 단계씩 진행하세요.
- 3
분석
비공유 프로젝트를 만들고 형식, 프로세서, 엔디언, 컴파일러 설정을 확인한 뒤 Auto Analysis를 실행합니다.

코드 브라우저, 목록, 심볼 이해
Listing은 주소, 바이트, 명령어를 보여 주고 Decompiler는 고수준 해석을 제공합니다. Symbol Tree, 문자열, 검색을 함께 사용합니다.
각 결론을 뒷받침하는 주소, 참조, 조건을 기록하면서 증거 중심으로 한 단계씩 진행하세요.
| 창 | 용도 | 작업 |
|---|---|---|
| Listing | 명령어 | 확인 |
| Decompiler | 의사 코드 | 해석 |
| Symbol Tree | 심볼 | 이동 |
| Defined Strings | 문자열 | 단서 찾기 |
Ghidra 디컴파일러 올바르게 사용
의사 코드는 이해를 빠르게 하지만 중요한 결론은 Listing에서 확인해야 합니다. 근거에 따라 함수명, 변수명, 자료형, 주석을 개선하세요.
각 결론을 뒷받침하는 주소, 참조, 조건을 기록하면서 증거 중심으로 한 단계씩 진행하세요.
- 1
단서 찾기
의사 코드는 이해를 빠르게 하지만 중요한 결론은 Listing에서 확인해야 합니다. 근거에 따라 함수명, 변수명, 자료형, 주석을 개선하세요.
- 2
참조 추적
각 결론을 뒷받침하는 주소, 참조, 조건을 기록하면서 증거 중심으로 한 단계씩 진행하세요.
- 3
근거 확인
의사 코드는 이해를 빠르게 하지만 중요한 결론은 Listing에서 확인해야 합니다. 근거에 따라 함수명, 변수명, 자료형, 주석을 개선하세요.

교차 참조와 함수 그래프 추적
XRefs로 사용 위치, 호출자, 대상을 확인하고 Function Graph로 분기, 반복문, 대체 경로를 시각화합니다.
각 결론을 뒷받침하는 주소, 참조, 조건을 기록하면서 증거 중심으로 한 단계씩 진행하세요.

30분 첫 리버스 엔지니어링 실습
성공과 실패 문자열을 찾고 참조를 따라가며 결정 함수를 식별한 뒤 핵심 조건을 근거와 함께 설명합니다.
각 결론을 뒷받침하는 주소, 참조, 조건을 기록하면서 증거 중심으로 한 단계씩 진행하세요.
- 0-5
- 5-12
- 12-22
- 22-30
초보자가 자주 하는 실수
의사 코드를 원본 소스로 믿지 말고, 아키텍처를 확인하고, 분석 완료를 기다리며, 알 수 없는 파일을 실행하지 마세요.
각 결론을 뒷받침하는 주소, 참조, 조건을 기록하면서 증거 중심으로 한 단계씩 진행하세요.
| 문제 | 위험 | 개선 방법 |
|---|---|---|
| 의사 코드 | 잘못된 추론 | 확인 |
| 아키텍처 | 잘못된 해석 | 다시 가져오기 |
| 알 수 없는 파일 | 보안 위험 | 격리 환경 |
다음 단계와 공식 자료
작고 합법적인 예제로 같은 흐름을 반복한 다음 공식 문서와 PyGhidra 가이드로 자동화를 학습하세요. GhidraDocs.
이미지는 NSA Ghidra 공식 저장소 자료입니다. 확인된 버전은 2026년 6월 5일 공개된 Ghidra 12.1.2입니다. PyGhidra.
Ghidra 사용법 FAQ
Ghidra는 안전한가요?
공식 GitHub 릴리스에서 내려받고 알 수 없는 파일은 격리 환경에서 실행하지 말고 분석하세요.
초보자는 디버거부터 써야 하나요?
먼저 정적 분석으로 함수, 참조, 제어 흐름 탐색을 익히세요.
원본 소스 코드를 완전히 복원하나요?
아닙니다. 디컴파일러는 유용한 해석을 만들지만 정확한 원본 소스는 아닙니다.
Ghidra 업데이트 방법은?
새 공식 버전을 별도 폴더에 풀고 확장 기능 호환성을 확인하세요.
어떤 파일을 분석할 수 있나요?
직접 만든 파일, 허가된 파일, 오픈 소스, 교육용 파일만 분석하세요.