{"id":49355031,"url":"https://github.com/dvurechensky/binnexus","last_synced_at":"2026-04-27T13:02:00.028Z","repository":{"id":351040338,"uuid":"1208698869","full_name":"Dvurechensky/BinNexus","owner":"Dvurechensky","description":"BinNexus — visualize and explore relationships inside binaries.","archived":false,"fork":false,"pushed_at":"2026-04-22T15:36:15.000Z","size":16319,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-22T17:34:35.775Z","etag":null,"topics":["binary-analysis","binary-visualization","call-graph","cytoscape","dependencies","disassembler","dll","dvurechensky","dvurechenskypro","exe","exports","graph","pe-format","reverse-engineering","software-analysis","visualization","windows"],"latest_commit_sha":null,"homepage":"https://dvurechensky.github.io/Freelancer.Reverse.Runtime/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dvurechensky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-12T16:25:12.000Z","updated_at":"2026-04-22T15:36:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Dvurechensky/BinNexus","commit_stats":null,"previous_names":["dvurechensky/binnexus"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Dvurechensky/BinNexus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dvurechensky%2FBinNexus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dvurechensky%2FBinNexus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dvurechensky%2FBinNexus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dvurechensky%2FBinNexus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dvurechensky","download_url":"https://codeload.github.com/Dvurechensky/BinNexus/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dvurechensky%2FBinNexus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32337274,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binary-analysis","binary-visualization","call-graph","cytoscape","dependencies","disassembler","dll","dvurechensky","dvurechenskypro","exe","exports","graph","pe-format","reverse-engineering","software-analysis","visualization","windows"],"created_at":"2026-04-27T13:01:54.211Z","updated_at":"2026-04-27T13:02:00.007Z","avatar_url":"https://github.com/Dvurechensky.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"media/logo.png\" width=\"200\" /\u003e\n\u003c/div\u003e\n\n\u003cp\u003e\n  \u003cstrong\u003eBinary Dependency Graph \u0026 Export Explorer for Windows (x86)\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n  \u003cimg src=\"https://shields.dvurechensky.pro/badge/status-active-brightgreen\" /\u003e\n  \u003cimg src=\"https://shields.dvurechensky.pro/badge/platform-windows%20x86-blue\" /\u003e\n  \u003cimg src=\"https://shields.dvurechensky.pro/badge/focus-binary%20analysis-purple\" /\u003e\n  \u003cimg src=\"https://shields.dvurechensky.pro/badge/toolchain-pefile%20%2B%20dumpbin-orange\" /\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n  \u003ca href=\"https://youtu.be/ZZGMkcnkHlk?si=hh5CeFk8aYkVdbvS\" target=\"_blank\" rel=\"noreferrer\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/danielcranney/readme-generator/main/public/icons/socials/youtube.svg\" width=\"32\" height=\"32\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003c/div\u003e\n\n---\n\n![BINNEXUS](media/BINNEXUS.gif)\n\n---\n\n\u003cdiv align=\"center\" style=\"margin: 20px 0; padding: 10px; background: #1c1917; border-radius: 10px;\"\u003e\n\n\u003cstrong\u003eLanguage:\u003c/strong\u003e\n\n\u003ca href=\"./README.ru.md\"\u003e\n  🇷🇺 Russian\n\u003c/a\u003e\n|\n\u003cspan style=\"color: #F5F752;\"\u003e\n  🇺🇸 English (current)\n\u003c/span\u003e\n\n\u003c/div\u003e\n\n---\n\nBinNexus is a tool for analyzing Windows binaries (DLL / EXE) that generates an **interactive web portal** with a dependency graph and export exploration.\n\nIt allows you to move from a set of files to understanding the **structure of the system**.\n\nLive demo:\nhttps://dvurechensky.github.io/Freelancer.Reverse.Runtime/\n\n---\n\n- [Features](#features)\n  - [Dependency Graph](#dependency-graph)\n  - [Export Explorer](#export-explorer)\n  - [Global Search](#global-search)\n  - [Noise Filtering](#noise-filtering)\n- [How it works](#how-it-works)\n- [Architecture](#architecture)\n- [Quick Start](#quick-start)\n- [Requirements](#requirements)\n- [Limitations](#limitations)\n  - [Runtime Analysis (experimental)](#runtime-analysis-experimental)\n- [Purpose](#purpose)\n- [Notes](#notes)\n\n---\n\n## Features\n\n### Dependency Graph\n\n- visualization of relationships between DLLs and EXEs\n- identification of core modules\n- fast architecture analysis\n\n### Export Explorer\n\n- export list with addresses\n- support for undecorated symbols\n- filtering:\n  - all\n  - reverse\n\n### Global Search\n\n- search by:\n  - DLL\n  - symbols\n  - undecorated names\n  - addresses\n\n### Noise Filtering\n\n- excludes:\n  - CRT (msvcrt)\n  - WinAPI\n  - system DLLs\n  - forward exports\n\n---\n\n## How it works\n\n1. Scan the directory containing the DLL/EXE\n2. Extract:\n   - Imports (via dumpbin)\n   - Exports (via pefile)\n3. Generate a static dependency graph\n4. (Optional) Perform runtime analysis\n5. Generate an HTML portal\n\n---\n\n## Architecture\n\nStarting with the current version, BinNexus is no longer a monolithic script.\n\nThe tool is built as a modular system consisting of individual components:\n\n- `analysis.static` — static analysis (imports / exports)\n- `analysis.runtime` — dynamic dependency analysis\n- `graph` — graph construction and aggregation\n- `portal` — HTML interface generation\n- `cli` — argument processing and pipeline management\n\nThis allows:\n\n- easy functionality expansion\n- adding new analyzers\n- control over each processing stage\n\n\u003e [!NOTE]\n\u003e The architecture is designed with future expansion in mind (plugins, new analysis engines).\n\n---\n\n## Quick Start\n\nSee 👉 [Build \u0026 Run (Windows)](docs/BUILD.md)\n\n---\n\n## Requirements\n\n- Windows\n- Visual Studio / Build Tools\n- Python 3.10+\n\n---\n\n## Limitations\n\n- Static analysis depends on dumpbin (x86 Native Tools)\n- Runtime analysis is experimental\n- Limited architecture support (main focus is x86)\n- No call graph\n- No function logic analysis\n\n---\n\n### Runtime Analysis (experimental)\n\nBinNexus supports runtime dependency analysis.\n\nThis allows you to identify:\n\n- dynamically loaded DLLs\n- real dependencies missing from static dependencies\n- application behavior at startup\n\nFeatures:\n\n- binary launch via an auxiliary runtime loader\n- collecting a list of loaded modules\n- integrating results into a common graph\n\n\u003e [!IMPORTANT]\n\u003e Runtime analysis complements static analysis and does not replace it.\n\n\u003e [!WARNING]\n\u003e This mode is currently x86-specific and requires testing on other architectures.\n\n[Example](docs/BUILD.md)\n\n---\n\n## Purpose\n\nBinNexus solves the problem of:\n\n\u003e quickly understanding the structure of a binary application before disassembly\n\nAnd complements it by:\n\n\u003e identifying the actual application dependencies both at the file level and at runtime\n\n---\n\n## Notes\n\n\u003e [!TIP]\n\u003e Use x86 Native Tools when working with legacy applications — this ensures correct dumpbin results.\n\n\u003e [!WARNING]\n\u003e Running outside Developer Command Prompt will result in missing dumpbin and broken import analysis.\n\n\u003e [!NOTE]\n\u003e System DLLs are intentionally excluded to reduce noise and improve graph readability.\n\n---\n\n\u003ch3 align=\"center\"\u003e✨Dvurechensky✨\u003c/h3\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvurechensky%2Fbinnexus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdvurechensky%2Fbinnexus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvurechensky%2Fbinnexus/lists"}