
Ghidrust: Perpanjangan analisis biner karat untuk Ghidra
Status: Pengembangan telah dijeda secara permanen. Plugin ini dalam kondisi yang dapat digunakan sebagian. Beberapa fitur analisis biner karat telah ditingkatkan ke Ghidra sejak pembuatan plugin ini.
Identifikasi biner karat Ghidra sekarang lebih unggul dari plugin ini. Satu -satunya fitur lain yang disediakan plugin ini adalah integrasi basis data fungsi dan mentranspiling kode C yang didekompilasi ke kode karat. Keduanya cukup bersisik.
Saya masih akan dengan senang hati menerima tambalan atau permintaan menarik, tetapi tidak akan ada pengembangan aktif. Jangan ragu untuk membayar proyek ini atau membuat yang baru. Tolong beri tahu saya jika Anda melakukannya, saya akan dengan senang hati menambahkan tautan proyek Anda di sini sebagai alternatif.

Proyek ini adalah bagian dari salah satu kursus institut saya. Untuk tinjauan terperinci, harap lihat laporan yang dibuat untuk pengiriman kursus. Readme berikut cukup jarang.
Plugin dapat mendeteksi biner karat. Untuk menggunakan fitur ini, klik GhidRust -> Check if Rust binary . Ini akan menunjukkan popup yang menunjukkan apakah itu biner karat atau tidak.
| Mungkin bukan biner karat | Mungkin biner karat |
|---|---|
![]() | ![]() |
Plugin ini juga terdiri dari RustStdAnalyzer yang menganalisis biner karat dan menerapkan tanda tangan fungsi untuk fungsi perpustakaan (Rust's std ) yang ditemukan di biner. Ini dilakukan dengan menggunakan database ID fungsi .fidb . Database default untuk x86-64 dan Rust versi 1.58.1 telah disediakan di libstd.fidb . Ini berguna saat menganalisis biner karat yang dilucuti.
| Tanpa ID fungsi | Dengan ID fungsi |
|---|---|
![]() | ![]() |
Analisis diaktifkan secara default untuk biner karat, dan namanya di jendela penganalisa adalah "mendeteksi fungsi rust libstd" .

Ini adalah fitur kerja-dalam-kemajuan sampai sekarang. Dibutuhkan parsing kode C yang didekompilasi dan kemudian memancarkan kode karat yang sesuai. Setelah selesai, dukungan makro karat juga akan ditambahkan di masa depan.
Panel Decompiler dapat diakses dengan mengklik GhidRust -> Open decompiler . Kelihatannya sebagai berikut.

Ada skrip build yang disediakan ( build.sh ) yang dapat membangun dan menginstal ekstensi.
$ ./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
Anda dapat membangun ekstensi menggunakan perintah berikut.
$ ./build.sh -g <GHIDRA_INSTALL_DIR>
Anda dapat menginstalnya menggunakan bendera instalasi sebagai berikut.
./build.sh -ig <GHIDRA_INSTALL_DIR>
Untuk menambahkannya ke Ghidra, cukup klik pada File -> Install Extensions... dan pilih Ghidrust di sana. Setelah diinstal, Anda akan memiliki entri GhidRust di toolbar Ghidra yang dapat digunakan untuk memohon plugin.
Anda mungkin perlu mengaktifkannya dari File -> Configure... menu. Pilih bagian Miscellaneous , dan klik kotak centang di samping RustDecplugin .