
binsync v5.15.4
git を基盤とした、デコンパイラ間コラボレーションのためのリバースエンジニアリングプラグイン。
BinSync
BinSyncは、Gitバージョン管理システム上に構築されたデコンパイラコラボレーションツールであり、デコンパイラに依存せずにきめ細かなリバースエンジニアリングのコラボレーションを可能にします。BinSyncは、mahaloz、angrチーム、およびSEFCOM研究所によって開発されています。また、Shellphishハッキングチームでの使用によって大きく支えられています。
優れたデコンパイラはすべて、Reverse Engineering Artifacts (REA) と呼ばれる共通オブジェクトを共有しています。これらのREAは、BinSyncの同期機能の中心です。サポートされているREAは以下の通りです:
- 関数ヘッダー(シンボル、引数、型)
- スタック変数(シンボル、型)
- 構造体
- 列挙型
- コメント
注:すべての型は、構造体のようなユーザー作成型をサポートしています。
さらにオンラインヘルプが必要な場合は、以下のDiscordにご参加ください:
クイックスタート
すべてのインストールにおいて、Pythonを使用した2部構成のインストーラーを使用することをお勧めします:
pip3 install binsync && binsync --install
BinSyncはBinary Ninjaプラグインマネージャーでも利用可能です。
GhidraでBSを使用する予定の場合、PyGhidraモードで起動する必要があります。
ChatGPT Userのような追加のBS機能を使用する予定の場合、pip3 install binsync[extras]のようにパッケージをインストールしてください。これにより、サポート用の追加パッケージがインストールされます。
完全なインストール情報については、クイックスタートドキュメントをお読みください。
開発者の方は、パッケージを編集可能(-e)としてインストールし、pip>=23.0.0を確認してください。
サポートされているプラットフォーム
- IDA Pro: >= 8.4(古いバージョンをお持ちの場合は、BinSync v4.10.1を使用してください)
- Binary Ninja: >= 2.4
- angr-management: >= 9.0
- Ghidra: >= 12.0(PyGhidraモード)
すべてのバージョンで、Python >= 3.10およびGitがシステムにインストールされている必要があります。 Ghidraサポートはまだ非常に初期段階であるため、アーティファクト名の同期やコメントなどの最小限の機能のみを期待してください。
デコンパイラサポートの進捗状況
前述のセクションでデコンパイラをサポートしていますが、すべてのデコンパイラが同じレベルの同期をサポートしているわけではありません。 アーティファクトサポート、プル、プッシュ、自動プッシュの違いを理解するには、デコンパイラ使用の紹介をお読みください。
IDA Pro
| Operations | Function Headers | Stack Vars | Global Vars | Structs | Enums | Comments |
|---|---|---|---|---|---|---|
| Symbols | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Types | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Pull | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Push | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Auto Push | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Binary Ninja
| Operations | Function Headers | Stack Vars | Global Vars | Structs | Enums | Comments |
|---|---|---|---|---|---|---|
| Symbols | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Types | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Pull | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Push | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Auto Push | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |