All Projects → secrary → Idenlib

secrary / Idenlib

Licence: mit
idenLib - Library Function Identification [This project is not maintained anymore]

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Idenlib

Drsemu
DrSemu - Sandboxed Malware Detection and Classification Tool Based on Dynamic Behavior
Stars: ✭ 237 (-26.4%)
Mutual labels:  binary-analysis, malware-analysis, reverse-engineering
Detect It Easy
Program for determining types of files for Windows, Linux and MacOS.
Stars: ✭ 2,982 (+826.09%)
Mutual labels:  binary-analysis, malware-analysis, reverse-engineering
Pwndbg
Exploit Development and Reverse Engineering with GDB Made Easy
Stars: ✭ 4,178 (+1197.52%)
Mutual labels:  malware-analysis, reverse-engineering, debugging
Radare2
UNIX-like reverse engineering framework and command-line toolset
Stars: ✭ 15,412 (+4686.34%)
Mutual labels:  binary-analysis, malware-analysis, reverse-engineering
Pev
The PE file analysis toolkit
Stars: ✭ 422 (+31.06%)
Mutual labels:  binary-analysis, malware-analysis, reverse-engineering
Replica
Ghidra Analysis Enhancer 🐉
Stars: ✭ 194 (-39.75%)
Mutual labels:  binary-analysis, malware-analysis, reverse-engineering
Gef
GEF (GDB Enhanced Features) - a modern experience for GDB with advanced debugging features for exploit developers & reverse engineers ☢
Stars: ✭ 4,197 (+1203.42%)
Mutual labels:  malware-analysis, reverse-engineering, debugging
Lief
Authors
Stars: ✭ 2,730 (+747.83%)
Mutual labels:  binary-analysis, malware-analysis, reverse-engineering
Sec skills
软件安全工程师技能表
Stars: ✭ 410 (+27.33%)
Mutual labels:  binary-analysis, malware-analysis, reverse-engineering
Antidebugging
A collection of c++ programs that demonstrate common ways to detect the presence of an attached debugger.
Stars: ✭ 161 (-50%)
Mutual labels:  malware-analysis, reverse-engineering, debugging
Makin
makin - reveal anti-debugging and anti-VM tricks [This project is not maintained anymore]
Stars: ✭ 645 (+100.31%)
Mutual labels:  malware-analysis, reverse-engineering, debugging
Freki
🐺 Malware analysis platform
Stars: ✭ 285 (-11.49%)
Mutual labels:  binary-analysis, malware-analysis, reverse-engineering
Macbook issues
《macOS软件安全与逆向分析》勘误
Stars: ✭ 11 (-96.58%)
Mutual labels:  binary-analysis, malware-analysis, reverse-engineering
Macbook
《macOS软件安全与逆向分析》随书源码
Stars: ✭ 302 (-6.21%)
Mutual labels:  binary-analysis, malware-analysis, reverse-engineering
Gtirb
Intermediate Representation for Binary analysis and transformation
Stars: ✭ 190 (-40.99%)
Mutual labels:  binary-analysis, reverse-engineering
kar98k public
pwn & ctf tools for windows
Stars: ✭ 24 (-92.55%)
Mutual labels:  malware-analysis, binary-analysis
Zelos
A comprehensive binary emulation and instrumentation platform.
Stars: ✭ 298 (-7.45%)
Mutual labels:  binary-analysis, malware-analysis
Anti-Debugging
A collection of c++ programs that demonstrate common ways to detect the presence of an attached debugger.
Stars: ✭ 297 (-7.76%)
Mutual labels:  debugging, malware-analysis
rtfraptor
Extract OLEv1 objects from RTF files by instrumenting Word
Stars: ✭ 50 (-84.47%)
Mutual labels:  debugging, malware-analysis
awesome-executable-packing
A curated list of awesome resources related to executable packing
Stars: ✭ 720 (+123.6%)
Mutual labels:  malware-analysis, binary-analysis

idenLib - Library Function Identification

When analyzing malware or 3rd party software, it's challenging to identify statically linked libraries and to understand what a function from the library is doing.

idenLib.exe is a tool for generating library signatures from .lib/.obj/.exe files.

idenLib.dp32/idenLib.dp64 is a x32dbg/x64dbg plugin to identify library functions.

idenLib.py is an IDA Pro plugin to identify library functions.

Any feedback is greatly appreciated: @_qaz_qaz

How does idenLib.exe generate signatures?

  1. Parses input file(.lib/.obj file) to get a list of function addresses and function names.
  2. Gets the last opcode from each instruction

sig

  1. Compresses the signature with zstd

  2. Saves the signature under the SymEx directory, if the input filename is zlib.lib, the output will be zlib.lib.sig or zlib.lib.sig64, if zlib.lib.sig(64) already exists under the SymEx directory from a previous execution or from the previous version of the library, the next execution will append different signatures. If you execute idenLib.exe several times with different version of the .lib file, the .sig/sig64 file will include all unique function signatures.

Inside of a signature (it's compressed): signature

Usage:

  • Generate library signatures: idenLib.exe /path/to/file or idenLib.exe /path/to/directory
  • Generate main function signature: idenLib.exe /path/to/pe -getmain

Generating library signatures

lib

x32dbg/x64dbg, IDA Pro plugin usage:

  1. Copy SymEx directory under x32dbg/x64dbg/IDA Pro's main directory
  2. Apply signatures:

x32dbg/x64dbg:

xdb

IDA Pro:

ida_boost_2

Generating main function signature:

If you want to generate a signature for main function compiled using MSVC 14 you need to create a hello world application with the corresponding compiler and use the application as input for idenLib

getmain

main function signature files are EntryPointSignatures.sig and EntryPointSignatures.sig64

IDAProMain

x64dbg_main

Notes Regarding to main Function Signatures

  • idenLib uses the DIA APIs to browse debug information stored in a PDB file. To run idenLib with -getmain parameter you will need to ensure that the msdia140.dll (found in Microsoft Visual Studio\2017\Community\DIA SDK\bin) is registered as a COM component, by invoking regsvr32.exe on the dll.

Applying Signatures

There are two ways to apply signatures, exact match and using Jaccard index

x32dbg_jaccard

Useful links:

Third-party

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].