소개
Ghidra는 미국 국가안보국(NSA) 연구국에서 개발하고 유지보수하는 소프트웨어 리버스 엔지니어링 프레임워크입니다. Windows, macOS, Linux에서 실행 가능하며, 디스어셈블리, 어셈블리, 디컴파일, 그래프 시각화, 스크립팅 등 수백 가지 고급 분석 기능을 제공합니다. 사용자는 Java 또는 Python으로 자체 확장 기능과 스크립트를 개발할 수 있으며, 악성코드 분석 및 시스템 취약점 조사에 널리 활용됩니다.
상세정보
프로그램 소개
Ghidra는 미국 국가안보국(NSA)에서 개발한 오픈소스 소프트웨어 리버스 엔지니어링 프레임워크입니다. 이 도구는 컴파일된 실행 파일을 분석하여 디스어셈블리, 디컴파일, 그래프 시각화 등을 통해 소프트웨어의 내부 동작을 이해하는 데 사용됩니다. Windows, macOS, Linux 플랫폼을 지원하며, Java 또는 Python으로 사용자 정의 스크립트와 확장 기능을 개발할 수 있습니다.
주요 기능디스어셈블리 및 어셈블리
Ghidra는 다양한 프로세서 명령어 세트와 실행 파일 형식을 지원하여 기계어를 어셈블리 언어로 변환하고, 필요 시 재조립할 수 있습니다.
디컴파일
기계어를 C와 유사한 고수준 언어로 변환하여 코드의 로직을 직관적으로 파악할 수 있도록 도와줍니다.
그래프 시각화
제어 흐름 그래프(CFG)와 호출 그래프를 생성하여 프로그램의 논리적 구조와 함수 간 관계를 시각적으로 분석할 수 있습니다.
스크립팅 및 자동화
사용자는 Java 또는 Python으로 스크립트를 작성하여 반복적인 분석 작업을 자동화하거나 맞춤형 기능을 추가할 수 있습니다.
확장 기능 개발
GhidraDev 플러그인을 통해 Eclipse 또는 Visual Studio Code에서 맞춤형 확장 모듈을 개발하고, Ghidra 설치에 통합할 수 있습니다.
다운로드·설치 방법
Ghidra를 설치하려면 먼저 JDK 21 64-bit를 설치해야 합니다. 공식 웹사이트 또는 GitHub releases 페이지에서 ghidra___.zip 형태의 멀티플랫폼 릴리스 파일을 다운로드합니다. 다운로드한 ZIP 파일을 압축 해제한 후, 기존 설치를 덮어쓰지 않도록 새로운 디렉터리에 추출합니다. Windows에서는 ghidraRun.bat을 실행하여 Ghidra를 시작할 수 있습니다. PyGhid라를 사용하려면 supportpyghidraRun.bat을 실행합니다. 자세한 설치 및 문제 해결 방법은 설치 디렉터리 루트의 Getting Started 문서를 참조하십시오.
기본 사용법
Ghidra를 실행하면 처음에 프로젝트를 생성하거나 기존 프로젝트를 열 수 있는 화면이 나타납니다. 분석할 실행 파일을 프로젝트에 가져온 후, 코드 브라우저 창에서 디스어셈블리 및 디컴파일 결과를 확인할 수 있습니다. 스크립트 관리자를 통해 자바 또는 파이썬 스크립트를 실행하여 분석 작업을 자동화할 수 있습니다. 확장 기능 개발을 위해서는 GhidraDev 플러그인을 설치한 Eclipse 또는 Visual Studio Code 환경을 설정해야 합니다.
이런 경우에 유용합니다
악성코드 분석가가 의심스러운 파일의 행동을 조사할 때, Ghidra를 사용하여 코드의 흐름을 추적하고 은닉된 기능을 발견할 수 있습니다. 소프트웨어 개발자는 자체 배포물의 보안 취약점을 점검하기 위해 리버스 엔지니어링을 수행할 때 이 도구를 활용합니다. 또한, 교육 기관에서는 리버스 엔지니어링 원리를 가르치는 실습 도구로 Ghidra를 사용합니다.
지원 환경·시스템 요구사항
Ghidra는 Windows, macOS, Linux에서 실행됩니다. 설치를 위해서는 JDK 21 64-bit가 필수이며, 소스 코드로부터 개발 빌드를 수행하려면 Gradle 9.1.0+, Python 3.9~3.14, 그리고 Windows의 경우 Microsoft Visual Studio 2017+ 또는 C++ Build Tools가 필요합니다.
최신 버전·업데이트
현재 버전은 12.1.3-20260817이며, 최신 릴리스 정보와 보안 권고 사항은 공식 GitHub 저장소의 Releases 페이지와 Security Advisories 섹션에서 확인할 수 있습니다.
제한 사항·확인 사항
특정 버전의 Ghidra에는 알려진 보안 취약점이 존재할 수 있으므로, 사용 전 공식 보안 권고 사항을 반드시 검토해야 합니다. 소스 코드로부터 빌드를 수행하는 경우, 인터넷 연결이 가능한 환경에서 Gradle 래퍼를 사용하는 것이 권장되며, 종속성 다운로드를 위해 추가 설정이 필요할 수 있습니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


