マルウェアまたはサードパーティのソフトウェアを分析する場合、静的にリンクされたライブラリを特定し、ライブラリの機能が何をしているかを理解することは困難です。
idenLib.exe .lib / .obj / .exeファイルからライブラリ署名を生成するためのツールです。
idenLib.dp32 / idenLib.dp64は、ライブラリ機能を識別するためのx32dbg / x64dbgプラグインです。
idenLib.pyは、ライブラリ機能を識別するIDA Proプラグインです。
.lib / .objファイル)は、関数アドレスと関数名のリストを取得します。
ZSTDで署名を圧縮します
入力ファイル名がzlib.libのSymEx 、 SymExディレクトリの下に署名を保存します。出力はzlib.lib.sigまたはzlib.lib.sig64になります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プラグインの使用:x32dbg / x64dbg / IDA Proのメインディレクトリの下でSymExディレクトリをコピーします x32dbg / x64dbg :

IDA Pro :

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

main関数署名ファイルは、 EntryPointSignatures.sigおよびEntryPointSignatures.sig64です


main関数の署名に関するメモidenLib 、 DIA APIsを使用して、PDBファイルに保存されているデバッグ情報を参照します。 -getmainパラメーターを使用してidenLibを実行するには、MSDIA140.dll( Microsoft Visual Studio2017CommunityDIA SDKbinにある)がdllにregsvr32.exeを呼び出すことにより、comコンポーネントとして登録されていることを確認する必要があります。 正確な一致とJaccard indexの使用、署名を適用するには2つの方法があります

C Run-Time Libraries (CRT)に関する詳細情報Zydis(MITライセンス)
Zstandard(BSDライセンス)
Freepikによるアイコン