Python を使用して、バイナリ ファイルの分析に取り組んでいます。私はデバッガーを使用して動的分析を行っています (つまり、アプリケーションを実行し、ブレークポイントを使用してランタイム実行を取得します)。ただし、 PINなどのバイナリ インストルメンテーション フレームワークを使用できれば、結果を改善できます。PIN は C++ で開発され、クローズド ソース (dll のみ) として提供されます。PinTools と呼ばれるものを作成し、インターセプトする場所と対象を記述します。Python を引き続き使用できるように、PIN 機能を Python に移植したいと考えています。「ctypes」とboost-pythonを認識しています。
私の問題は、PIN を使用するために、pintool を作成し、Pin と pintool を使用してバイナリ実行可能ファイルを実行することです (JIT を使用してアプリケーションを実行するようなものです)。さて、ctypesなどを使用してPIN関数をインポートし、このpythonコードを使用してバイナリを動的に分析できるかどうかはわかりません。このタスクの進め方について、提案やガイドラインを教えてください。
そこで、基本的に、PIN フレームワークへの Python インターフェイス (ラッパー) を作成したいと思います。