{"id":25039197,"url":"https://github.com/svtv/pedependencyanalyzer_penet","last_synced_at":"2026-04-29T21:05:17.953Z","repository":{"id":272497143,"uuid":"916794426","full_name":"svtv/PEDependencyAnalyzer_PeNet","owner":"svtv","description":"A command-line tool for analyzing and publishing dependencies of Windows PE files (executables and DLLs)","archived":false,"fork":false,"pushed_at":"2025-01-18T15:58:31.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T21:30:10.660Z","etag":null,"topics":["dependency-analyzer","dotnet","dotnet-core","pe-analyzer","pe-file","pe-format","recursive","win32","win64","windows"],"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/svtv.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":"2025-01-14T19:15:59.000Z","updated_at":"2025-01-18T15:58:33.000Z","dependencies_parsed_at":"2025-01-14T20:38:35.870Z","dependency_job_id":"2c9bff1b-f85d-4908-b1c2-4534b3aabde2","html_url":"https://github.com/svtv/PEDependencyAnalyzer_PeNet","commit_stats":null,"previous_names":["svtv/pedependencyanalyzer_penet"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/svtv/PEDependencyAnalyzer_PeNet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svtv%2FPEDependencyAnalyzer_PeNet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svtv%2FPEDependencyAnalyzer_PeNet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svtv%2FPEDependencyAnalyzer_PeNet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svtv%2FPEDependencyAnalyzer_PeNet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/svtv","download_url":"https://codeload.github.com/svtv/PEDependencyAnalyzer_PeNet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svtv%2FPEDependencyAnalyzer_PeNet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32443596,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T20:22:27.477Z","status":"ssl_error","status_checked_at":"2026-04-29T20:22:26.507Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["dependency-analyzer","dotnet","dotnet-core","pe-analyzer","pe-file","pe-format","recursive","win32","win64","windows"],"created_at":"2025-02-06T02:14:06.488Z","updated_at":"2026-04-29T21:05:17.925Z","avatar_url":"https://github.com/svtv.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PE Dependency Analyzer\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![.NET](https://img.shields.io/badge/.NET-8.0-blue.svg)](https://dotnet.microsoft.com/download/dotnet/8.0)\n[![Platform](https://img.shields.io/badge/platform-windows-lightgrey.svg)](https://github.com/yourusername/PEDependencyAnalyzer)\n[![en](https://img.shields.io/badge/lang-en-green.svg)](https://github.com/yourusername/PEDependencyAnalyzer/blob/main/README.md)\n\n*Read this in other languages: [Русский](README.ru.md)*\n\nA command-line tool for analyzing and publishing dependencies of Windows PE files (executables and DLLs).\n\n## Features\n\n- Analyzes dependencies of PE files (both native and managed)\n- Classifies dependencies into categories:\n  - System Dependencies (Windows system DLLs)\n  - Runtime Dependencies (MSVC, MFC, and .NET runtime DLLs)\n  - Virtual Dependencies (Windows API Sets)\n  - Other Dependencies (application-specific DLLs)\n- Supports recursive dependency analysis\n- Can publish the application with its dependencies\n\n## Requirements\n\n- .NET 8.0 or higher\n- Windows operating system\n\n## Installation\n\n1. Clone the repository\n2. Build the project:\n\n## Build Options\n\nThe analyzer can be built in several ways depending on your needs:\n\n### 1. Native AOT Build (Maximum Performance)\n- Fastest startup time\n- Best runtime performance\n- Smallest memory footprint\n- Platform-specific (needs separate builds for different platforms)\n- Limited reflection capabilities\n```bash\ndotnet publish --configuration Release /p:PublishProfile=NativeAot\n```\nOutput: `bin/Release/publish-native/PEDependencyAnalyzer.exe`\n\n### 2. Single-file Build (Easy Distribution)\n- Single executable file\n- Includes all dependencies\n- No installation required\n- Larger file size\n- Slightly slower startup\n```bash\ndotnet publish --configuration Release /p:PublishProfile=SingleFile\n```\nOutput: `bin/Release/publish-single-file/PEDependencyAnalyzer.exe`\n\n### 3. Framework-dependent Build (Maximum Compatibility)\n- Requires .NET Runtime\n- Smallest distribution size\n- Full runtime features\n- Platform independent\n- Best for development\n```bash\ndotnet publish --configuration Release /p:PublishProfile=Framework\n```\nOutput: `bin/Release/publish-framework/PEDependencyAnalyzer.exe`\n\nChoose the appropriate build based on your requirements:\n- Use Native AOT for best performance in production\n- Use Single-file for easy distribution to end users\n- Use Framework-dependent for development or when .NET Runtime is already installed\n\n## Usage\n\nBasic analysis:\n```bash\nPEDependencyAnalyzer \u003cfile_or_directory_path\u003e\n```\n\nPublishing with dependencies:\n```bash\nPEDependencyAnalyzer \u003cfile_path\u003e --publish[=directory_name]\n```\n\n### Command Line Options\n\n- `--publish[=directory_name]` - Enable publish mode (default directory: 'publish')\n- `--no-runtime` - Exclude runtime DLLs from publish\n- `--no-virtual` - Exclude virtual DLLs from publish\n\n### Examples\n\nAnalyze a single file:\n```bash\nPEDependencyAnalyzer app.exe\n```\n\nAnalyze all executables in a directory:\n```bash\nPEDependencyAnalyzer C:\\MyApp\n```\n\nPublish with all dependencies:\n```bash\nPEDependencyAnalyzer app.exe --publish\n```\n\nPublish to a specific directory without runtime DLLs:\n```bash\nPEDependencyAnalyzer app.exe --publish=dist --no-runtime\n```\n\n## Dependency Classification\n\nThe tool classifies dependencies in the following order:\n\n1. **Virtual Dependencies**: DLLs starting with \"api-ms-win-\" or \"ext-ms-win-\"\n2. **Runtime Dependencies**: MSVC runtime, MFC, and .NET runtime DLLs\n3. **System Dependencies**: DLLs located in Windows system directories\n4. **Other Dependencies**: All remaining DLLs\n\n## Output Example\n\n```\nSystem Dependencies:\n-------------------\nKERNEL32.dll                             C:\\Windows\\system32\\KERNEL32.dll\nUSER32.dll                               C:\\Windows\\system32\\USER32.dll\n...\n\nRuntime Dependencies:\n--------------------\nmsvcrt.dll                               C:\\Windows\\system32\\msvcrt.dll\nmsvcp_win.dll                            C:\\Windows\\system32\\msvcp_win.dll\n...\n\nVirtual Dependencies (API Sets):\n------------------------------\napi-ms-win-core-console-l1-1-0.dll       ...\napi-ms-win-core-debug-l1-1-0.dll         ...\n...\n\nOther Dependencies:\n------------------\nMyApp.Core.dll                           C:\\MyApp\\MyApp.Core.dll\n...\n\nSummary:\n--------\nSystem Dependencies: 17\nRuntime Dependencies: 2\nVirtual Dependencies: 35\nOther Dependencies: 1\nTotal Dependencies: 55\n```\n\n## License\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvtv%2Fpedependencyanalyzer_penet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsvtv%2Fpedependencyanalyzer_penet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvtv%2Fpedependencyanalyzer_penet/lists"}