hfiref0x/WinDepends — a backend project — sits at 678 GitHub stars in the Backend space. Windows Dependencies
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Microsoft Windows 10/11 (Including Server variants)
Windows 8.1 (Not Officially Supported)
Windows 7 (Not Officially Supported, refer to https://github.com/hfiref0x/WinDepends/issues/11 for more info)
Runtime Frameworks:
.NET Desktop Runtime 10.0
Project Overview
WinDepends is a rewrite of the Dependency Walker utility, which for a long time was a "must-have" tool when it comes to Windows PE files analysis and building a hierarchical tree diagram of all dependent modules. Unfortunately, development of this tool stopped around the Windows Vista release, and since that time, Microsoft introduced a lot of new features "under the hood" of the loader that eventually broke Dependency Walker and made its use painful, especially on the newest Windows versions with tons of artificial DLLs, a.k.a. ApiSet contracts. Unfortunately, none of the existing "replacements" are even slightly comparable to the original in terms of implementation or features. That's why this project was born. It was in mind for many years but has never had enough time or will to be implemented until now.
Utility Features
Scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, it lists all functions exported by that module and which are called by other modules.
Displays the minimum set of required files, along with detailed information about each file, including full paths, base addresses, version numbers, machine type, debug information, and more.
Supports delay-load DLLs, ApiSet contracts, bound imports, and Side-by-Side modules.
Drag-and-drop support with a most recently used files list.
Supports custom configuration, external viewer, external help command, module path resolution, search order and PE loader relocations settings.
Supports Microsoft Debug Symbols to provide more information on modules exports/imports.
Supports C++ function name undecorating to provide human readable C++ function prototypes including function names, return types, and parameter types.
Save/restore sessions to/from files.
Client-server architecture: Client (WinForms .NET app) provides the GUI; server (C application) handles PE parsing.
Command-line interface (CLI) for automation and scripting with multiple export formats.
Missing features / Known issues
Current state: Release Candidate 2. Some Dependency Walker features are unimplemented (e.g., profiling).
MDI GUI discontinued; launch multiple instances to analyze multiple files.
Some functionality may not work as expected or be disabled until Release.
ARM binaries untested in native environments (lack of bare-metal hardware).
Some limitations stem from Windows OS support.
Found a bug? Have suggestions? Submit issues or pull requests! We appreciate your input!
Installation and Usage
The WinDepends compiled binaries include:
WinDepends.exe: Main GUI (client) and CLI
WinDepends.Core.exe: Server (launched by the client)
PDB files for both
They can be found in the Release section of this repository.
No installation required. Copy the folder, run WinDepends.exe. To uninstall, close the client/server and delete files.
Command-Line Interface (CLI)
WinDepends supports a command-line interface for automation, scripting, and integration with other tools. The CLI mode is automatically activated when specific command-line switches are detected.
Basic Usage
WinDepends.exe <input-file> [options]
Command-Line Options
Option
Description
-o, --output <file>
Output file path (default: input file with format extension)
-f, --format <format>
Output format: json, csv, html, dot, text (default: json)
-d, --depth <n>
Maximum dependency depth (default: from configuration)
-q, --quiet
Suppress console output
-e, --exports
Include export information (default: on)
--no-exports
Exclude export information
-i, --imports
Include import information (default: on)
--no-imports
Exclude import information
--no-resolve
Don't resolve API set names (default: from configuration)
-k, --kernel
Use kernel-mode search order
--short-paths
Use short file names instead of full paths (default: from configuration)
-h, --help
Show help message
-v, --version
Show version information
Note: Many default values are read from the program configuration file. Use the GUI to configure these settings.
Export Formats
Format
Description
json
Full structured JSON data with all module information
csv
Flat module list as comma-separated values
html
Interactive HTML report with collapsible dependency tree
WinDepends.exe myapp.exe -o report.html -f html --short-paths
Combined Options
WinDepends.exe C:\Windows\System32\ntoskrnl.exe -o ntoskrnl.html -f html -k -d 5 --short-paths
CLI Output
When not in quiet mode, the CLI displays progress information:
WinDepends CLI v1.0.0.2511
Analyzing: C:\Windows\System32\notepad.exe
[*] Server has been started: WDEP/1.0 WinDepends.Core
Processing dependencies...
[1] Analyzing: ntdll.dll
[2] Analyzing: kernel32.dll
[3] Analyzing: kernelbase.dll
...
Exporting to Html: notepad.html
Export completed successfully.
GUI Mode
When no CLI-specific switches are provided, WinDepends runs in GUI mode. You can still pass a file path to open it directly:
WinDepends.exe C:\Windows\System32\notepad.exe
Documentation and Help
https://github.com/hfiref0x/WinDepends.Docs
Building and Other Information
Build platform: Microsoft Visual Studio 2026 (latest SDK).
Client: C# (WinForms, .NET 10.0).
Server: C (no special SDKs/headers).
Source code includes: Server tests (WinDepends.Core.Tests) and a fuzzer (WinDepends.Core.Fuzz).
Modern style toolbar images: https://icons8.com.
Frameworks/SDKs updated only with LTS releases.
Support Our Work
If you enjoy using this software and would like to help the authors maintain and improve it, please consider supporting us with a donation. Your contribution fuels development, ensures updates, and keeps the project alive.
No homepage URL was recorded for hfiref0x/WinDepends in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
Is hfiref0x/WinDepends open source?
Yes — hfiref0x/WinDepends ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/hfiref0x/WinDepends.
What else is in the Backend space?
hfiref0x/WinDepends is tracked by TopGit under the Backend category, alongside 4 GitHub-tagged topics. Trending and Topics pages list peer repositories of comparable stars and language.
What is hfiref0x/WinDepends?
hfiref0x/WinDepends (hfiref0x/WinDepends) is a C# project on GitHub. From the project's own README: Windows Dependencies
What license does hfiref0x/WinDepends use?
hfiref0x/WinDepends is released under the MIT license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where do I read more about hfiref0x/WinDepends?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/hfiref0x/WinDepends is the definitive source.
Why is hfiref0x/WinDepends categorized under Backend?
TopGit places hfiref0x/WinDepends in the Backend category based on its GitHub topics and description (tagged: "csharp", "dependency-walker", "dll"). Categories are assigned from real repository metadata, not editorial guesswork.
Read full README in the tab above.
Is WinDepends worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of WinDepends.