Dependencies
is a rewrite of the legacy software Dependency Walker which was shipped along Windows SDKs, but whose developement stopped around 2006.
Dependencies
can help Windows developers troubleshooting their dll load dependencies issues.
- 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
NB : due to limitations on /clr compilation, Dependencies
needs Visual C++ Redistributable installed to run properly.
Dependencies
is currently shipped as a binary (no installer present). Just click on one of the release numbers above (probably the latest), download and uncompress the archive and click on it.
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.
Since v1.6
, Dependencies is also packaged as an appx package (the Windows equivalent of a .deb
file) which can be installed locally. However, you also need to add the test certificate DependenciesAppx_TemporaryKey.cer
to your cert hive.
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 behaviour can be overriden (app-wide) via a property located in "Options->Properties->Tree build behaviour".
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 :
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.
Special thanks to :
- ProcessHacker2 for :
phlib
, which does the heavy lifting for processing PE informations.peview
, a powerful and lightweight PE informations viewer.
- Dragablz a C#/XAML library which implement dockable and dragable UI elements, and can recreate the MDI programming model in
WPF
. - @aionescu, @zodiacon and Quarkslab for their public infos on ApiSets schema.
- Thomas levesque's blog which pretty much solved all my
WPF
programming issues. HisAutoGridSort
is used in this project - Venkatesh Mookkan for it's
FilterControl
for ListView used in this project - demumble for demangling GCC symbols on Windows