
マルウェアやサードパーティ製ソフトウェアを解析する際、静的にリンクされたライブラリを特定し、そのライブラリの関数が何をしているのかを理解することは困難です。
idenLib.exe は .lib/.obj/.exe ファイルからライブラリシグネチャを生成するツールです。
idenLib.dp32/idenLib.dp64 はライブラリ関数を識別するための x32dbg/x64dbg プラグインです。
idenLib.py はライブラリ関数を識別するための IDA Pro プラグインです。
.lib/.obj ファイル)を解析し、関数アドレスと関数名のリストを取得します。
SymEx ディレクトリに保存します。入力ファイル名が zlib.lib の場合、出力は zlib.lib.sig または zlib.lib.sig64 になります。
以前の実行や以前のバージョンのライブラリから SymEx ディレクトリに zlib.lib.sig(64) がすでに存在する場合、次回の実行では異なるシグネチャが追加されます。
異なるバージョンの .lib ファイルで idenLib.exe を複数回実行すると、.sig/sig64 ファイルにはすべてのユニークな関数シグネチャが含まれます。シグネチャの内部 (圧縮されています):

idenLib.exe /path/to/file または idenLib.exe /path/to/directorymain 関数シグネチャの生成: idenLib.exe /path/to/pe -getmain
x32dbg/x64dbg, IDA Pro プラグインの使用方法:SymEx ディレクトリを x32dbg/x64dbg/IDA Pro のメインディレクトリにコピーします

main 関数シグネチャの生成:MSVC 14 を使用してコンパイルされた main 関数のシグネチャを生成したい場合は、対応するコンパイラで hello world アプリケーションを作成し、そのアプリケーションを idenLib の入力として使用する必要があります。

main 関数シグネチャファイルは EntryPointSignatures.sig と EntryPointSignatures.sig64 です。


main 関数シグネチャに関する注意事項idenLib は DIA API を使用して PDB ファイルに保存されたデバッグ情報を参照します。-getmain パラメータで idenLib を実行するには、msdia140.dll (Microsoft Visual Studio\2017\Community\DIA SDK\bin にあります) が COM コンポーネントとして登録されていることを確認し、regsvr32.exe を実行して dll を登録する必要があります。シグネチャを適用する方法は2つあります。完全一致と Jaccard index を使用する方法です。

C Run-Time Libraries (CRT) に関する詳細情報Zydis (MIT License)
Zstandard (BSD License)
アイコン: freepik