ubfx/BinDiffHelper
Ghidra Extension to integrate BinDiff for function matching
Thành tựu nổi bật
Những danh hiệu mới nhất của dự án
#1 Repository Của Tháng
#1 Repository Của Tháng
#2 Repository Của Tháng
🔍 Tiện ích Ghidra tự động hóa so khớp hàm bằng BinDiff
Tích hợp BinDiff trực tiếp trong Ghidra — không cần diff nhị phân thủ công, tự động tìm và đổi tên hàm khớp.
BinDiffHelper là một tiện ích mở rộng (extension) cho Ghidra, tích hợp công cụ BinDiff để tự động so khớp hàm giữa các nhị phân khác nhau và nhập tên hàm tương ứng vào project. Hỗ trợ BinDiff phiên bản 6, 7 và 8, công cụ này loại bỏ quy trình thủ công so sánh hai file nhị phân — người dùng chỉ cần thao tác bên trong giao diện Ghidra.
✨ Điểm nổi bật
- Tự động so khớp hàm: Sử dụng BinDiff để tìm các hàm tương đồng giữa hai nhị phân mà không cần chạy diff bên ngoài.
- Nhập tên hàm tự động: Tự động đổi tên hàm trong Ghidra dựa trên kết quả so khớp từ BinDiff.
- Hỗ trợ BinDiff 6/7/8: Tương thích với nhiều phiên bản BinDiff, bao cả phiên bản mới nhất.
- So sánh trong cùng project: Có thể so khớp hàm giữa các file khác nhau trong cùng một Ghidra project.
- Nhập file .BinDiff bên ngoài: Hỗ trợ mở và nhập kết quả từ file .BinDiff đã tạo sẵn, kèm theo file .BinExport tương ứng.
- Highlight và chú thích: Tô màu hàm đã khớp trong code listing, thêm chú thích liên kết đến file nhị phân còn lại.
- Follow symbol: Double-click vào symbol đã khớp để theo dõi trong cả primary và secondary code listing.
- Export namespace support: Hỗ trợ xuất namespace khi nhập kết quả.
- Textual diff cho decompiled function: Hỗ trợ so sánh văn bản giữa các hàm đã giải mã (decompiled).
- Chạy trên Apple Silicon: Cập nhật thư viện sqlite driver, tương thích với Mac ARM.
💡 Vì sao đáng chú ý
Reverse engineering thường đòi hỏi so sánh thủ công hàng trăm hàm giữa hai phiên bản nhị phân — một công việc nhàm chán và dễ sai sót. BinDiffHelper tự hóa toàn bộ quy trình này ngay trong Ghidra, giúp analyst tập trung vào phân tích thay vì thao tác lặp lại. Tiện ích đặc biệt hữu ích khi cần port lại mã nguồn, phân tích bản vá bảo mật, hoặc so sánh phiên bản firmware.
Để sử dụng đầy đủ, cần cài đặt thêm BinExport plugin và BinDiff (zynamics). Nếu chỉ có file .BinDiff sẵn, vẫn có thể nhập kết quả mà không cần hai công cụ phụ trợ. Xây dựng từ source bằng Gradle với JDK 21 LTS, tương thích Ghidra 11.4 trở lên.
#ReverseEngineering #Ghidra #BinDiff #OpenSource #TiniX
Similar Projects
Discover other similar projects and AI models.
Ghidra MCP Server — 200+ MCP tools for AI-powered reverse engineering. GUI plugin + headless server, lazy tool loading, convention enforcement, batch operations, Ghidra Server integration, and Docker deployment.
Reverse engineer anything with agents, from app behavior down to native binaries.