BinSync 是一個基於 Git 版本控制系統建構的反編譯器協作工具,可實現細粒度的逆向工程協作,而不受反編譯器的影響。 BinSync 由 mahaloz、angr 團隊和 SEFCOM 研究實驗室建構。這在很大程度上也要歸功於 Shellphish 黑客團隊的使用。
所有優秀的反編譯器都共用稱為逆向工程工件 (REA) 的通用物件。這些 REA 是 BinSync 同步能力的中心。以下是支援的 REA:
注意:所有類型都支援使用者建立的類型,例如結構。
加入我們下面的不和諧以獲得更多在線幫助:
對於所有安裝,最好將我們的兩部分安裝程式與 Python 結合使用:
pip3 install binsync && binsync --install
BinSync 也可在 Binary Ninja 外掛程式管理器中使用。如果您打算將 BS 與 Ghidra 一起使用,則還需要執行pip3 install binsync[ghidra]
。如果您打算使用額外的 BS 功能(例如 ChatGPT 使用者),請像這樣安裝軟體包: pip3 install binsync[extras]
,這將安裝額外的軟體包以取得支援。有關完整的安裝信息,請閱讀我們的快速入門文件。
如果您打算安裝可編輯的軟體包 ( -e
),就像在開發人員安裝中一樣,請確保pip>=23.0.0
。
v4.10.1
)所有版本都需要在系統上安裝Python >= 3.10和Git 。 Ghidra 支援仍處於早期階段,因此僅預期諸如工件名稱同步和評論之類的最小功能。
儘管我們支援前面部分中的反編譯器,但並非每個反編譯器都在同一同步等級上支援。若要了解工件支援、拉取、推播和自動推播之間的區別,請閱讀我們的反編譯器使用介紹。
營運 | 函數頭 | 堆疊變數 | 全域變數 | 結構體 | 列舉 | 評論 |
---|---|---|---|---|---|---|
符號 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
類型 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
拉 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
推 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
自動推送 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
營運 | 函數頭 | 堆疊變數 | 全域變數 | 結構體 | 列舉 | 評論 |
---|---|---|---|---|---|---|
符號 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
類型 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
拉 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
推 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
自動推送 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
營運 | 函數頭 | 堆疊變數 | 全域變數 | 結構體 | 列舉 | 評論 |
---|---|---|---|---|---|---|
符號 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
類型 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
拉 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
推 | ✅ | ✅ | ✅ | ✅ | ✅ | |
自動推送 | ✅ | ✅ | ✅ | ✅ | ✅ |
營運 | 函數頭 | 堆疊變數 | 全域變數 | 結構體 | 列舉 | 評論 |
---|---|---|---|---|---|---|
符號 | ✅ | ✅ | ✅ | |||
類型 | ✅ | ✅ | ✅ | |||
拉 | ✅ | ✅ | ✅ | |||
推 | ✅ | ✅ | ✅ | |||
自動推送 | ✅ | ✅ | ✅ |
有關腳本編寫,請參閱 Lib BinSync,它允許您在 Python 中完成所有提升和資料操作。