위키득계정 ↗
기술

Ghidra

Ghidra기술
개발 기반
미국 NSA 연구 부문
분류
소프트웨어 리버스 엔지니어링
주요 기능
디컴파일 디스어셈블 그래프
확장
Java와 Python 스크립팅
Ghidra는 컴파일된 프로그램을 분석하는 리버스 엔지니어링 프레임워크다. 디스어셈블과 디컴파일, 그래프 및 스크립팅 기능을 대화형 화면과 자동 실행 방식으로 제공한다.

코드의 구조를 탐색하기

실행 파일의 명령을 읽고 함수와 흐름을 분석해 고수준 표현을 살펴볼 수 있다. 디컴파일 결과는 바이너리에서 추정한 구조이며 원래 소스의 모든 정보가 복원된 것은 아니다. 타입과 함수 경계 등 분석 정보도 검토가 필요하다.

수동 분석과 자동 처리

분석가는 화면에서 코드를 조사하고 스크립트나 확장 기능으로 반복 작업을 자동화할 수 있다. 자동 실행 경로는 여러 파일을 같은 절차로 처리할 때 활용된다. 어떤 분석기와 설정을 실행했는지가 결과에 영향을 준다.

배포판과 소스의 구분

바로 실행할 수 있는 공식 배포 파일과 소스 코드 압축 파일은 다르다. 실행 및 빌드에 필요한 JDK 등의 조건도 버전에 따라 확인해야 한다. 기존 설치 위에 파일을 겹쳐 놓기보다 배포판에 맞는 환경을 준비하는 것이 중요하다.

관련 문서

RetDec / Revng / Rizin / BAP