{"id":13418850,"url":"https://github.com/lucasg/Dependencies","last_synced_at":"2025-03-15T04:30:51.818Z","repository":{"id":37470246,"uuid":"95366680","full_name":"lucasg/Dependencies","owner":"lucasg","description":"A rewrite of the old legacy software \"depends.exe\" in C# for Windows devs to troubleshoot dll load dependencies issues.","archived":false,"fork":false,"pushed_at":"2024-05-15T00:55:24.000Z","size":15341,"stargazers_count":9506,"open_issues_count":128,"forks_count":778,"subscribers_count":163,"default_branch":"master","last_synced_at":"2025-02-18T03:01:49.568Z","etag":null,"topics":["csharp","dll","windows","wpf"],"latest_commit_sha":null,"homepage":"","language":"C#","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/lucasg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2017-06-25T15:00:10.000Z","updated_at":"2025-02-18T02:38:56.000Z","dependencies_parsed_at":"2022-07-14T06:50:28.918Z","dependency_job_id":"69d77c5e-04f7-46bd-8259-69ee6c407984","html_url":"https://github.com/lucasg/Dependencies","commit_stats":{"total_commits":506,"total_committers":22,"mean_commits":23.0,"dds":"0.13043478260869568","last_synced_commit":"1997a40000b77bd3326cbc33672a7b9f78bb23f3"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasg%2FDependencies","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasg%2FDependencies/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasg%2FDependencies/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasg%2FDependencies/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucasg","download_url":"https://codeload.github.com/lucasg/Dependencies/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243179900,"owners_count":20249186,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["csharp","dll","windows","wpf"],"created_at":"2024-07-30T22:01:07.903Z","updated_at":"2025-03-15T04:30:51.129Z","avatar_url":"https://github.com/lucasg.png","language":"C#","readme":"# Dependencies - An open-source modern Dependency Walker\r\n[![Build status](https://ci.appveyor.com/api/projects/status/wtr5v8ksndbkkqxg?svg=true)](https://ci.appveyor.com/project/lucasg/dependencies)\r\n\r\n### [Download here](https://github.com/lucasg/Dependencies/releases/download/v1.11.1/Dependencies_x64_Release.zip)\r\n\r\n#### [(If you're running an AV, use this download instead)](https://github.com/lucasg/Dependencies/releases/download/v1.11.1/Dependencies_x64_Release_.without.peview.exe.zip)\r\n\r\nNB : due to [limitations on /clr compilation](https://msdn.microsoft.com/en-us/library/ffkc918h.aspx), `Dependencies` needs [Visual C++  Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) installed to run properly.\r\n\r\n\u003cp align=\"center\"\u003e\r\n\u003cimg alt=\"Usage Exemple\" src=\"screenshots/UsageExemple.gif\"/\u003e\r\n\u003c/p\u003e\r\n\r\n\r\n## Overview\r\n`Dependencies` is a rewrite of the legacy software [Dependency Walker](http://www.dependencywalker.com/) which was shipped along Windows SDKs, but whose development stopped around 2006.\r\n`Dependencies` can help Windows developers troubleshooting their dll load dependencies issues.\r\n\r\n## Releases\r\n* [v1.11](https://github.com/lucasg/Dependencies/releases/download/v1.11.1/Dependencies_x64_Release.zip) :\r\n\t* lots of bugfixes and incremental improvements\r\n\t* covid pandemic\r\n* [v1.10](https://github.com/lucasg/Dependencies/releases/download/v1.10/Dependencies_x64_Release.zip) :\r\n\t* lots of bugfixes and incremental improvements\r\n\t* support of Windows 8.1 apisets parsing\r\n* [v1.9](https://github.com/lucasg/Dependencies/releases/download/v1.9/Dependencies_x64_Release.zip) :\r\n\t* Display imports and exports the way Depends.exe does.\r\n\t* Added user customization for search folders and working directory\r\n\t* Added LLVM demangler to availables symbol demangling\r\n\t* Fixed Wow64 FsRedirection bugs\r\n\t* F5 can now refresh the analysis\r\n\t* Added CLR assembly dependencies enumeration\r\n\t* Added a packaging option without Peview.exe (which triggers some AV).\r\n* [v1.8](https://github.com/lucasg/Dependencies/releases/download/v1.8/Dependencies_x64_Release.zip) :\r\n\t* Add x86/x64 variants for Dependencies\r\n* [v1.7](https://github.com/lucasg/Dependencies/releases/download/v1.7/Dependencies.zip) :\r\n\t* Add CLI tool \"dependencies.exe\"\r\n* [v1.6](https://github.com/lucasg/Dependencies/releases/download/v1.6/Dependencies.zip) :\r\n\t* Add appx packaging\r\n* [v1.5](https://github.com/lucasg/Dependencies/releases/download/v1.5/Dependencies.zip) :\r\n\t* Support of Sxs parsing\r\n\t* Support of api set schema parsing\r\n\t* API and Modules list can be filtered\r\n* [v1.0](https://github.com/lucasg/Dependencies/releases/download/v1.0/Dependencies.zip) -- Initial release\r\n\r\n\r\n## Installation and Usage\r\n\r\n`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`.\r\nSince 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.\r\n\r\n`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-\u003eProperties-\u003eTree build behaviour\".\r\n\r\n\u003cp align=\"center\"\u003e\r\n\u003cimg alt=\"User options\" src=\"screenshots/UserOptions.png\"/\u003e\r\n\u003c/p\u003e\r\n\r\nTree build behaviours available :\r\n\r\n* `ChildOnly` (default) : only process PE child imports and nothing beyond.\r\n* `RecursiveOnlyOnDirectImports`  : do not process delayload dlls.\r\n* `Recursive` : Full recursive analysis. You better have time and RAM on your hands if you activate this setting :\r\n\r\n\u003cp align=\"center\"\u003e\r\n\u003cimg alt=\"Yes that's 7 GB of RAM being consumed. I'm impressed the application didn't even crash\" src=\"screenshots/RamEater.PNG\"/\u003e\r\n\u003c/p\u003e\r\n\r\n\r\n## Limitations\r\n\r\nAt the moment, `Dependencies` recreates features and \"features\" of `depends.exe`, which means :\r\n\r\n* Only direct, forwarded and delay load dependencies are supported. Dynamic loading via `LoadLibrary` are not supported (and probably won't ever be).\r\n* Support of api set schema redirection since 1.5\r\n* Checks between Api Imports and Exports. \r\n* Minimal support of sxs private manifests search only.\r\n\r\n\r\n## Building\r\n\r\nBuilding is pretty straightforward.\r\nThe only caveat is you need to select the \"Debug\" or \"Release\" configuration and \"x64\" or \"x86\" platform which may not be the default.\r\n\r\n\r\n## Credits and licensing\r\n\r\nSpecial thanks to :\r\n\r\n* [ProcessHacker2](https://github.com/processhacker2/processhacker) for :\r\n  * `phlib`, which does the heavy lifting for processing PE informations.\r\n  * `peview`, a powerful and lightweight PE informations viewer.\r\n* [Dragablz](https://github.com/ButchersBoy/Dragablz) a C#/XAML library which implement dockable and dragable UI elements, and can recreate the [MDI programming model](https://en.wikipedia.org/wiki/Multiple_document_interface) in `WPF`.\r\n* @aionescu, @zodiacon and Quarkslab for their public infos on ApiSets schema.\r\n* [Thomas levesque's blog](https://www.thomaslevesque.com) which pretty much solved all my `WPF` programming issues. His [`AutoGridSort`](http://www.thomaslevesque.com/2009/08/04/wpf-automatically-sort-a-gridview-continued/) is used in this project \r\n* Venkatesh Mookkan [for it's `FilterControl` for ListView used in this project](https://www.codeproject.com/Articles/170095/WPF-Custom-Control-FilterControl-for-ListBox-ListV)\r\n* [demumble](https://github.com/nico/demumble) for demangling GCC symbols on Windows\r\n","funding_links":[],"categories":["TODO scan for Android support in followings","Tools","C# #",":building_construction: Software Development","C#","C\\#"],"sub_categories":["Binary files examination and editing","Programming"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasg%2FDependencies","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucasg%2FDependencies","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasg%2FDependencies/lists"}