Flirtとも呼ばれる高速ライブラリの識別と認識技術は、IDAの内部記号識別子であり、既知のライブラリサブルーチンを見つけ、名前を変更し、強調するために分解されたバイナリを検索します。浮気は、それが生まれたライブラリからドキュメンテーションまたはソースコードを読むだけで理解できる機能を分析する必要性を排除し、シンボル拘束されたバイナリをかなりの量だけ理解するために必要な作業の量を減らします。
詳細については、https://www.hex-rays.com/products/ida/tech/flirt/index.shtmlをご覧ください
これは、Flirtの内部作業に関する単純化された図です。
システムへの入力は、選択したライブラリからのライブラリファイル(Windows上の.lib)ですが、出力は /sigの下に保存されている署名ファイル(.sig)です(およびそこにのみIDAが見つかりません)。ツールのいずれか(PLB/PCF/PELF)を使用して(ここでは顧客に提供されます)、ライブラリ内のすべての機能をPATファイル(.PAT)に保存されている署名に変換します。署名ファイルを作成する最終段階では、生成されたPATファイルをSigmakeを使用してIDAが使用可能な.sigファイルに変換することが含まれます。これの問題は、Hex-raysが使用する方法はばかな証拠ではないため、署名のために衝突が存在することがあるということです。エラーが発生すると、exc(.exc)ファイルが作成されます。衝突を無視するために、最初のいくつかのコメント( ';'で始まる行)を削除して、Sigmakeを再実行して、このファイルを編集するだけです。
詳細については、Flair Toolsディレクトリ内のReadMe内の内部をご覧ください。
それぞれに無限のビルド/バージョンを備えた無数のライブラリ(両方とも開いた/閉じたソース)があるという事実を考えると、Hex-raysチームが必要な署名ファイルを常に提供できるとは限らないことは明らかです。このため、私はこのリポジトリを作成し、リバースエンジニアが署名ファイルをつかむ(そしてできればアップロードする)ハブとして機能することを期待しています。
ライブラリの特定のバージョンの署名ファイル(または複数!)の署名ファイルを生成し、倫理に基づくルールに従うことにより、誰でもこのリポジトリに貢献できます。
管理するさまざまなライブラリ/バージョンがあるという事実により、すべての情報を可能な限り簡単に並べ替えて、人々が探しているものを簡単に見つけることができることが要件です。以下のルールに従うだけで、すべてがスムーズに実行されることを願っています。
マイケル・キロス