
idenLib - Bibliotheksfunktionsidentifikation [Dieses Projekt wird nicht mehr gewartet]
Bei der Analyse von Malware oder Drittanbieter-Software ist es schwierig, statisch verlinkte Bibliotheken zu identifizieren und zu verstehen, was eine Funktion aus der Bibliothek tut.
idenLib.exe ist ein Werkzeug zum Erzeugen von Bibliothekssignaturen aus .lib/.obj/.exe-Dateien.
idenLib.dp32/idenLib.dp64 ist ein Plugin für x32dbg/x64dbg zur Identifizierung von Bibliotheksfunktionen.
idenLib.py ist ein Plugin für IDA Pro zur Identifizierung von Bibliotheksfunktionen.
.lib/.obj-Datei), um eine Liste von Funktionsadressen und Funktionsnamen zu erhalten.
Komprimiert die Signatur mit zstd
Speichert die Signatur im SymEx-Verzeichnis. Wenn der Eingabedateiname zlib.lib ist, lautet die Ausgabe zlib.lib.sig oder zlib.lib.sig64. Falls zlib.lib.sig(64) bereits im SymEx-Verzeichnis aus einer vorherigen Ausführung oder von der vorherigen Version der Bibliothek existiert, werden bei der nächsten Ausführung andere Signaturen angehängt. Wenn Sie idenLib.exe mehrmals mit verschiedenen Versionen der .lib-Datei ausführen, enthält die .sig/sig64-Datei alle eindeutigen Funktionssignaturen.
Inhalt einer Signatur (komprimiert):

idenLib.exe /pfad/zur/datei oder idenLib.exe /pfad/zum/verzeichnismain-Funktion erzeugen: idenLib.exe /pfad/zur/pe -getmain
x32dbg/x64dbg und IDA Pro:SymEx-Verzeichnis in das Hauptverzeichnis von x32dbg/x64dbg/IDA Pro.

main-Funktion erzeugen:Wenn Sie eine Signatur für die mit MSVC 14 kompilierte main-Funktion erzeugen möchten, müssen Sie eine Hallo-Welt-Anwendung mit dem entsprechenden Compiler erstellen und diese Anwendung als Eingabe für idenLib verwenden.

Die Signaturdateien der main-Funktion sind EntryPointSignatures.sig und EntryPointSignatures.sig64.


main-FunktionidenLib verwendet die DIA APIs, um Debug-Informationen aus PDB-Dateien zu durchsuchen. Um idenLib mit dem Parameter -getmain auszuführen, müssen Sie sicherstellen, dass die msdia140.dll (zu finden unter Microsoft Visual Studio\2017\Community\DIA SDK\bin) als COM-Komponente registriert ist, indem Sie regsvr32.exe auf diese DLL anwenden.Es gibt zwei Möglichkeiten, Signaturen anzuwenden: exakte Übereinstimmung und Verwendung des Jaccard-Index.

C Run-Time Libraries (CRT)Zydis (MIT Lizenz)
Zstandard (BSD Lizenz)
Symbol von freepik