설치 및 실행
<aside>
<img src="/icons/question-mark_lightgray.svg" alt="/icons/question-mark_lightgray.svg" width="40px" /> Ghidra 11 버전 기준
Ghidra 다운로드
JDK 17 설치
실행
- ghidraRun 실행
- 실행 안될텐데 개인정보 설정에서 앱 허용해줘야함.
gradle -PGHIDRA_INSTALL_DIR=/home/loegnah/sec/ghidra/ghidra_11.0.3_PUBLIC -PPYTHON_BIN=`which python3`
설명
- 프로젝트(Project): Ghidra의 토대가 되는 단위로, 리버스 엔지니어는 프로그램을 프로젝트에 불러와 도구들을 이용해 분석을 수행할 수 있게 됩니다.
- **코드 브라우저(Code Browser)**는 Ghidra에 내장된 핵심 도구 중 하나로 다음과 같은 주요 기능을 제공합니다.
- 디스어셈블: 분석 대상 프로그램의 기계어를 역으로 어셈블하여 어셈블리 언어 형태의 코드로 보여줍니다.
- 디컴파일: 디스어셈블 결과를 C언어 형태로 디컴파일하여 사람이 이해하기 쉬운 코드로 변환하여 보여줍니다.
- 코드 자동 분석: 프로그램 내에 존재하는 함수들을 자동으로 식별하고, 변수의 타입을 추론합니다.
- 코드 시각화: 제어 흐름 그래프(Control Flow Graph)로 코드의 흐름을 시각적으로 표현하여 코드의 복잡한 구조를 비교적 쉽게 파악할 수 있습니다.
- 스크립팅: 사용자가 자신의 요구에 맞게 분석 프로세스를 스크립트로 작성하고 실행할 수 있습니다.
도구 모음