BinSync は、Git バージョニング システム上に構築された逆コンパイラ コラボレーション ツールで、逆コンパイラに関係なくきめ細かいリバース エンジニアリング コラボレーションを可能にします。 BinSync は、mahaloz、angr チーム、SEFCOM 研究室によって構築されています。これは、Shellphish ハッキング チームによる使用も主な原因です。
すべての優れた逆コンパイラーは、リバース エンジニアリング アーティファクト (REA) と呼ばれる共通のオブジェクトを共有します。これらの REA は、BinSync の同期機能の中心です。サポートされている REA は次のとおりです。
注: すべての型は、構造体のようなユーザー作成型をサポートしています。
詳細なオンライン ヘルプについては、以下の Discord に参加してください。
すべてのインストールでは、Python で 2 部構成のインストーラーを使用するのが最善です。
pip3 install binsync && binsync --install
BinSync は、Binary Ninja プラグイン マネージャーでも利用できます。 Ghidra で BS を使用する予定の場合は、 pip3 install binsync[ghidra]
も実行する必要があります。 ChatGPT ユーザーなどの追加の BS 機能を使用する予定がある場合は、 pip3 install binsync[extras]
のようにパッケージをインストールします。これにより、サポート用の追加パッケージがインストールされます。完全なインストール情報については、クイックスタート ドキュメントをお読みください。
開発者インストールのように、パッケージを編集可能 ( -e
) でインストールする予定がある場合は、 pip>=23.0.0
ことを確認してください。
v4.10.1
使用してください)すべてのバージョンでは、Python 3.10 以上とGit がシステムにインストールされている必要があります。 Ghidra のサポートはまだ初期段階にあるため、アーティファクト名の同期やコメントなどの最小限の機能のみを期待してください。
前のセクションでは逆コンパイラーをサポートしていますが、すべての逆コンパイラーが同じレベルの同期でサポートされているわけではありません。アーティファクトのサポート、プル、プッシュ、および自動プッシュの違いを理解するには、逆コンパイラーの使用の概要をお読みください。
運営 | 関数ヘッダー | スタック変数 | グローバル変数 | 構造体 | 列挙型 | コメント |
---|---|---|---|---|---|---|
記号 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
種類 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
引く | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
押す | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
オートプッシュ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
運営 | 関数ヘッダー | スタック変数 | グローバル変数 | 構造体 | 列挙型 | コメント |
---|---|---|---|---|---|---|
記号 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
種類 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
引く | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
押す | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
オートプッシュ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
運営 | 関数ヘッダー | スタック変数 | グローバル変数 | 構造体 | 列挙型 | コメント |
---|---|---|---|---|---|---|
記号 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
種類 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
引く | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
押す | ✅ | ✅ | ✅ | ✅ | ✅ | |
オートプッシュ | ✅ | ✅ | ✅ | ✅ | ✅ |
運営 | 関数ヘッダー | スタック変数 | グローバル変数 | 構造体 | 列挙型 | コメント |
---|---|---|---|---|---|---|
記号 | ✅ | ✅ | ✅ | |||
種類 | ✅ | ✅ | ✅ | |||
引く | ✅ | ✅ | ✅ | |||
押す | ✅ | ✅ | ✅ | |||
オートプッシュ | ✅ | ✅ | ✅ |
スクリプトについては、Python ですべてのリフティングとデータ操作を実行できる Lib BinSync を参照してください。