
GHIDRA는 National Security Agency Research Directorate가 작성하고 유지 관리하는 SRE (Software Reverse Engineering) 프레임 워크입니다. 이 프레임 워크에는 사용자가 Windows, MacOS 및 Linux를 포함한 다양한 플랫폼에서 컴파일 된 코드를 분석 할 수있는 풀 기능이 풍부한 고급 소프트웨어 분석 도구가 포함되어 있습니다. 기능에는 수백 가지의 다른 기능과 함께 분해, 어셈블리, 디 컴파일, 그래프 및 스크립팅이 포함됩니다. GHIDRA는 다양한 프로세서 명령 세트 및 실행 가능한 형식을 지원하며 사용자 인터랙티브 및 자동화 모드 모두에서 실행할 수 있습니다. 사용자는 Java 또는 Python을 사용하여 자체 GHIDRA 확장 구성 요소 및/또는 스크립트를 개발할 수 있습니다.
NSA의 사이버 보안 미션을 지원하기 위해 Ghidra는 복잡한 SRE 노력에 대한 스케일링 및 팀 문제를 해결하고 사용자 정의 가능하고 확장 가능한 SRE 연구 플랫폼을 제공하기 위해 구축되었습니다. NSA는 GHIDRA SRE 기능을 악의적 인 코드를 분석하고 네트워크 및 시스템의 잠재적 취약성을 더 잘 이해하는 SRE 분석가에게 깊은 통찰력을 생성하는 다양한 문제에 적용했습니다.
이와 같은 프로젝트에 관심이있는 미국 시민이라면 NSA를위한 Ghidra 및 기타 사이버 보안 도구를 개발하여 국가와 동맹국을 보호하는 데 도움이되며 우리와 경력을 신청하는 것을 고려하십시오.
경고 : 특정 버전의 GHIDRA 내에 알려진 보안 취약점이 있습니다. 진행하기 전에 GHIDRA의 보안 자문을 읽고 영향을받는 방법에 대한 이해를 높이십시오.
공식 사전 구축 된 멀티 플랫폼 GHIDRA 릴리스를 설치하려면 :
ghidra_<version>_<release>_<date>.zip 으로 이름이 표시되어 있으며 "자산"드롭 다운에서 찾을 수 있습니다. "소스 코드"라는 파일 중 하나를 다운로드하는 것이이 단계에서는 정확하지 않습니다../ghidraRun (또는 Windows 용 ghidraRun.bat )을 시작하십시오. GHIDRA 릴리스 설치 및 실행에 대한 추가 정보 및 문제 해결 팁은 docs/InstallationGuide.html 의 GHIDRA 릴리스에서 찾을 수있는 설치 안내서를 참조하십시오.
이 소스 저장소에서 플랫폼을위한 최신 개발 빌드를 작성하려면 다음과 같습니다.
Github에서 다운로드하십시오
unzip ghidra-master
cd ghidra-master
참고 : 압축 소스를 다운로드하는 대신 GitHub 리포지토리를 git clone https://github.com/NationalSecurityAgency/ghidra.git 할 수 있습니다.
참고 : 인터넷 연결을 사용할 수 있고 Gradle을 설치하지 않으면 다음 gradle 명령을 ./gradle(.bat) 으로 대체 할 수 있습니다.
gradle -I gradle/support/fetchDependencies.gradle
gradle buildGhidra
압축 개발 빌드는 build/dist/ 에 위치합니다.
Ghidra 구축에 대한 자세한 정보는 개발자 안내서를 읽으십시오.
문제를 구축하려면 알려진 문제 섹션에서 가능한 솔루션을 확인하십시오.
GHIDRA 설치는 ECLIPSE 용 GHIDRADEV 플러그인을 통해 사용자 정의 스크립트 및 확장을 작성하는 사용자를 지원합니다. 플러그인 및 해당 지침은 Extensions/Eclipse/GhidraDev/ 또는이 링크에서 GHIDRA 릴리스 내에서 찾을 수 있습니다.
참고 : Eclipse 용 Ghidradev 플러그인은 릴리스 페이지에서 다운로드 할 수있는 완전히 구축 된 GHIDRA 설치에 대한 개발을 지원합니다.
GHIDRA 도구 자체를 개발하려면 GHIDRA 개발 프로세스가 고도로 사용자 정의 된 Eclipse를 사용하는 것이 좋습니다.
gradle prepdev eclipse buildNatives
Eclipse가 프로젝트 구축을 마치면 Ghidra를 제공하여 제공된 Ghidra Eclipse Run 구성 으로 디버깅 할 수 있습니다.
GHIDRA 개발에 대한 자세한 정보는 개발자 안내서를 읽으십시오.
버그 수정, 개선 및 새로운 기능을 Ghidra로 다시 기여하려면 기고자 안내서를 살펴 보고이 오픈 소스 프로젝트에 참여하는 방법을 확인하십시오.