
Ghidrust : Ghidra의 Rust Binary Analysis Extension
상태 : 개발이 영구적으로 일시 중지되었습니다. 이 플러그인은 부분적으로 사용 가능한 상태입니다. 이 플러그인이 생성 된 이후 GHIDRA에 대한 Rust Binary Analysis 기능은 거의 없습니다.
Ghidra의 Rust Binary Identification은 이제이 플러그인보다 우수합니다. 이 플러그인이 제공하는 유일한 다른 기능은 FunctionId 데이터베이스 통합 및 디 컴파일 된 C 코드를 녹 코드로 전환하는 것입니다. 이 두 가지 모두 매우 벗겨집니다.
나는 여전히 패치 나 요청을 받아들이는 것을 기쁘게 생각하지만 능동적 인 개발은 없을 것입니다. 이 프로젝트를 자유롭게 포크하거나 새로운 프로젝트를 만들 수 있습니다. 그렇게하면 알려 주시면 여기에 프로젝트의 링크를 대안으로 추가 해 드리겠습니다.

이 프로젝트는 제 연구소 과정 중 하나였습니다. 자세한 개요는 코스 제출을 위해 작성된 보고서를 살펴보십시오. 다음 README는 상당히 드물다.
플러그인은 녹 바이너리를 감지 할 수 있습니다. 이 기능을 사용하려면 GhidRust -> Check if Rust binary . 녹 바이너리인지 여부를 나타내는 팝업이 표시됩니다.
| 녹 바이너리가 아닐 수도 있습니다 | 녹 바이너리 일 수 있습니다 |
|---|---|
![]() | ![]() |
플러그인은 또한 RustStdAnalyzer 로 구성되어 있으며 Rust Binaries를 분석하고 이진에서 발견 된 라이브러리 기능 (Rust 's std )에 기능 서명을 적용합니다. 이것은 .fidb function id 데이터베이스를 사용하여 수행됩니다. x86-64 및 Rust 버전 1.58.1에 대한 기본 데이터베이스가 libstd.fidb 에서 제공되었습니다. 이것은 스트리핑 된 녹 바이너리를 분석 할 때 유용합니다.
| 기능 ID없이 | 기능 ID로 |
|---|---|
![]() | ![]() |
분석기는 Rust Binaries의 경우 기본적으로 활성화되며 분석기 창의 이름은 "Rust Libstd 기능 감지" 입니다.

이것은 현재 진행중인 작업 기능입니다. 컴파일 된 C 코드를 구문 분석 한 다음 해당 녹 코드를 방출해야합니다. 일단 완료되면 Rust Macro Support도 향후 추가 될 것입니다.
GhidRust -> Open decompiler 클릭하여 디 컴파일러 패널에 액세스 할 수 있습니다. 다음과 같이 보입니다.

확장을 빌드하고 설치할 수있는 빌드 스크립트 ( build.sh )가 있습니다.
$ ./build.sh -h
GhidRust install script
Usage: build.sh [-i | --install] -g GHIDRA_PATH
-i | --install Install the extension
-g | --ghidra Path to Ghidra installation (usually /opt/ghidra)
-h | --help Show usage/help
다음 명령을 사용하여 확장자를 빌드 할 수 있습니다.
$ ./build.sh -g <GHIDRA_INSTALL_DIR>
설치 플래그를 사용하여 다음과 같이 설치할 수 있습니다.
./build.sh -ig <GHIDRA_INSTALL_DIR>
ghidra에 추가하려면 File -> Install Extensions... 클릭하고 ghidrust를 선택하십시오. 일단 설치되면 GHIDRA 도구 모음에 GhidRust 항목이있어 플러그인을 호출하는 데 사용할 수 있습니다.
File -> Configure... 메뉴에서 활성화해야 할 수도 있습니다. Miscellaneous 섹션을 선택하고 RustDecplugin 옆에 확인란을 클릭하십시오.