Skip to content

Dvurechensky/BinNexus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Binary Dependency Graph & Export Explorer for Windows (x86)


BINNEXUS


Language:

🇷🇺 Russian | 🇺🇸 English (current)

BinNexus is a tool for analyzing Windows binaries (DLL / EXE) that generates an interactive web portal with a dependency graph and export exploration.

It allows you to move from a set of files to understanding the structure of the system.

Live demo: https://dvurechensky.github.io/Freelancer.Reverse.Runtime/



Features

Dependency Graph

  • visualization of relationships between DLLs and EXEs
  • identification of core modules
  • fast architecture analysis

Export Explorer

  • export list with addresses
  • support for undecorated symbols
  • filtering:
    • all
    • reverse

Global Search

  • search by:
    • DLL
    • symbols
    • undecorated names
    • addresses

Noise Filtering

  • excludes:
    • CRT (msvcrt)
    • WinAPI
    • system DLLs
    • forward exports

How it works

  1. Scan the directory containing the DLL/EXE
  2. Extract:
    • Imports (via dumpbin)
    • Exports (via pefile)
  3. Generate a static dependency graph
  4. (Optional) Perform runtime analysis
  5. Generate an HTML portal

Architecture

Starting with the current version, BinNexus is no longer a monolithic script.

The tool is built as a modular system consisting of individual components:

  • analysis.static — static analysis (imports / exports)
  • analysis.runtime — dynamic dependency analysis
  • graph — graph construction and aggregation
  • portal — HTML interface generation
  • cli — argument processing and pipeline management

This allows:

  • easy functionality expansion
  • adding new analyzers
  • control over each processing stage

Note

The architecture is designed with future expansion in mind (plugins, new analysis engines).


Quick Start

See 👉 Build & Run (Windows)


Requirements

  • Windows
  • Visual Studio / Build Tools
  • Python 3.10+

Limitations

  • Static analysis depends on dumpbin (x86 Native Tools)
  • Runtime analysis is experimental
  • Limited architecture support (main focus is x86)
  • No call graph
  • No function logic analysis

Runtime Analysis (experimental)

BinNexus supports runtime dependency analysis.

This allows you to identify:

  • dynamically loaded DLLs
  • real dependencies missing from static dependencies
  • application behavior at startup

Features:

  • binary launch via an auxiliary runtime loader
  • collecting a list of loaded modules
  • integrating results into a common graph

Important

Runtime analysis complements static analysis and does not replace it.

Warning

This mode is currently x86-specific and requires testing on other architectures.

Example


Purpose

BinNexus solves the problem of:

quickly understanding the structure of a binary application before disassembly

And complements it by:

identifying the actual application dependencies both at the file level and at runtime


Notes

Tip

Use x86 Native Tools when working with legacy applications — this ensures correct dumpbin results.

Warning

Running outside Developer Command Prompt will result in missing dumpbin and broken import analysis.

Note

System DLLs are intentionally excluded to reduce noise and improve graph readability.


✨Dvurechensky✨