All Projects → lucasg → Dependencies

lucasg / Dependencies

Licence: mit
A rewrite of the old legacy software "depends.exe" in C# for Windows devs to troubleshoot dll load dependencies issues.

Programming Languages

C#
18002 projects
C++
36643 projects - #6 most used programming language
powershell
5483 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Dependencies

Ookii Dialogs Wpf
Common dialog classes for WPF applications
Stars: ✭ 276 (-93.71%)
Mutual labels:  wpf
Xamarin Forms Tab Badge
Xamarin Forms bindable Tab badges for iOS, Android, UWP, MacOS and WPF
Stars: ✭ 304 (-93.08%)
Mutual labels:  wpf
Wpf Notifyicon
NotifyIcon (aka system tray icon or taskbar icon) for the WPF platform
Stars: ✭ 329 (-92.51%)
Mutual labels:  wpf
Imt Wanke Client
不朽玩客云客户端(Immortalt Wanke Client)
Stars: ✭ 286 (-93.49%)
Mutual labels:  wpf
Simple Music Player
Simple Music Player - SimpleMP - Keeps it simple and plays your music
Stars: ✭ 298 (-93.21%)
Mutual labels:  wpf
Cloudmailru
Total Commander plugin for cloud.mail.ru service
Stars: ✭ 313 (-92.87%)
Mutual labels:  dll
Livewallpaper
A tiny win10 (dynamic) wallpaper changer | 巨应壁纸 | 动态壁纸
Stars: ✭ 274 (-93.76%)
Mutual labels:  wpf
Lively
Stars: ✭ 5,721 (+30.29%)
Mutual labels:  wpf
Sharpneedle
Inject C# code into a running process
Stars: ✭ 301 (-93.15%)
Mutual labels:  dll
Wpf.notifications
WPF notifications UI controls (as seen in VS Code)
Stars: ✭ 318 (-92.76%)
Mutual labels:  wpf
Elmish.wpf
Static WPF views for elmish programs.
Stars: ✭ 287 (-93.46%)
Mutual labels:  wpf
Csconsoleformat
.NET C# library for advanced formatting of console output [Apache]
Stars: ✭ 296 (-93.26%)
Mutual labels:  wpf
Dotnet Sdk
百度AI开放平台 .Net SDK
Stars: ✭ 312 (-92.89%)
Mutual labels:  dll
C Compiler
C--compiler which implements LL(1)\LR(0)\SLR\LR(1) and semantic analysis and MIPS generate
Stars: ✭ 286 (-93.49%)
Mutual labels:  wpf
Nattypetester
测试当前网络的 NAT 类型(STUN)
Stars: ✭ 326 (-92.58%)
Mutual labels:  wpf
Worlds Simplest Csharp Wpf Mvvm Example
The World's Simplest C# WPF MVVM Example
Stars: ✭ 279 (-93.65%)
Mutual labels:  wpf
Melonloader
The World's First Universal Mod Loader for Unity Games that is Compatible with both Il2Cpp and Mono
Stars: ✭ 306 (-93.03%)
Mutual labels:  dll
Mvvm Dialogs
Framework simplifying the concept of opening dialogs from a view model when using MVVM in WPF or UWP
Stars: ✭ 335 (-92.37%)
Mutual labels:  wpf
Rcrl
Read-Compile-Run-Loop: tiny and powerful interactive C++ compiler (REPL)
Stars: ✭ 332 (-92.44%)
Mutual labels:  dll
Sharpvectors
SharpVectors - SVG# Reloaded: SVG DOM and Rendering in C# for the .Net.
Stars: ✭ 315 (-92.83%)
Mutual labels:  wpf

Dependencies - An open-source modern Dependency Walker

Build status

Download here

(If you're running an AV, use this download instead)

NB : due to limitations on /clr compilation, Dependencies needs Visual C++ Redistributable installed to run properly.

Usage Exemple

Overview

Dependencies is a rewrite of the legacy software Dependency Walker which was shipped along Windows SDKs, but whose development stopped around 2006. Dependencies can help Windows developers troubleshooting their dll load dependencies issues.

Releases

  • v1.11 :
    • lots of bugfixes and incremental improvements
    • covid pandemic
  • v1.10 :
    • lots of bugfixes and incremental improvements
    • support of Windows 8.1 apisets parsing
  • v1.9 :
    • Display imports and exports the way Depends.exe does.
    • Added user customization for search folders and working directory
    • Added LLVM demangler to availables symbol demangling
    • Fixed Wow64 FsRedirection bugs
    • F5 can now refresh the analysis
    • Added CLR assembly dependencies enumeration
    • Added a packaging option without Peview.exe (which triggers some AV).
  • v1.8 :
    • Add x86/x64 variants for Dependencies
  • v1.7 :
    • Add CLI tool "dependencies.exe"
  • v1.6 :
    • Add appx packaging
  • v1.5 :
    • Support of Sxs parsing
    • Support of api set schema parsing
    • API and Modules list can be filtered
  • v1.0 -- Initial release

Installation and Usage

Dependencies is currently shipped as two binaries (no installer present) : Dependencies.exe as a CLI tool and DependenciesGui.exe for its GUI counterpart (see screenshot). Just click on one of the release numbers above (preferably the latest), download and uncompress the archive and run DependenciesGui.exe. Since the binary is not signed, SmartScreen might scream at runtime. Dependencies also bundle ClrPhTester.exe, a dumpbin-like executable used to test for non-regressions.

Dependencies currently does not recursively resolve child imports when parsing a new PE since it can be really memory-hungry to do so ( it can over a GB even for "simple" PEs ). This behavior can be overridden (app-wide) via a property located in "Options->Properties->Tree build behaviour".

User options

Tree build behaviours available :

  • ChildOnly (default) : only process PE child imports and nothing beyond.
  • RecursiveOnlyOnDirectImports : do not process delayload dlls.
  • Recursive : Full recursive analysis. You better have time and RAM on your hands if you activate this setting :

Yes that's 7 GB of RAM being consumed. I'm impressed the application didn't even crash

Limitations

At the moment, Dependencies recreates features and "features" of depends.exe, which means :

  • Only direct, forwarded and delay load dependencies are supported. Dynamic loading via LoadLibrary are not supported (and probably won't ever be).
  • Support of api set schema redirection since 1.5
  • Checks between Api Imports and Exports.
  • Minimal support of sxs private manifests search only.

Building

Building is pretty straightforward. The only caveat is you need to select the "Debug" or "Release" configuration and "x64" or "x86" platform which may not be the default.

Credits and licensing

Special thanks to :

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].