Skip to content

cyb3r-w0lf/WinDbgFetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WinDbgFetch

WinDbg installer/updater

A Python tool that automatically downloads, installs, and launches the latest WinDbg from Microsoft Store without requiring the Windows Store app.

THIS README IS GENERATED BY AI

Features

  • 🔄 Automatic Updates: Fetches the latest WinDbg version directly from Microsoft
  • 📦 Standalone Installation: No Windows Store required
  • 🏗️ Architecture Detection: Automatically detects and downloads the correct package (x64, x86, ARM64)
  • 📊 Progress Tracking: Beautiful progress bar with download statistics
  • 🔒 Digital Signature Verification: Validates downloaded packages (Windows only)
  • 🚀 Direct Launch: Automatically launches WinDbg after installation
  • 🔧 Version Management: Keeps multiple versions and tracks installations
  • 🎯 Command Line Passthrough: Forwards all arguments to WinDbg

Requirements

  • Python 3.6+
  • Windows OS (for WinDbg)
  • Internet connection
  • Required Python packages:
    - requests
    - colorama

Installation

  1. Clone this repository:

    git clone https://github.com/cyb3r-w0lf/WinDbgFetch.git
    cd WinDbgFetch
  2. Install dependencies:

    pip install requests colorama
  3. Run the downloader:

    python WinDbgFetch.py

Usage

Basic Usage

# Download and launch WinDbg
python WinDbgFetch.py

# Launch WinDbg with specific arguments
python WinDbgFetch.py -k net:port=50000,key=1.2.3.4

# Attach to a process
python WinDbgFetch.py -p 1234

How It Works

  1. Check Version: Queries Microsoft's AppInstaller service for the latest WinDbg version
  2. Download: If a new version is available, downloads the MSIX bundle
  3. Extract: Extracts the architecture-appropriate package from the bundle
  4. Verify: Validates the digital signature (on Windows)
  5. Install: Extracts WinDbg files to a version-specific directory
  6. Launch: Runs DbgX.Shell.exe with any provided arguments

Directory Structure

installation-directory/
├── WinDbgFetch.py
├── version.txt                    # Current installed version
├── 1.2508.27001.0/               # Version-specific directory
│   ├── DbgX.Shell.exe
│   ├── amd64/
│   ├── arm64/
│   ├── x86/
│   └── ... (other WinDbg files)
└── 1.2509.28001.0/               # Newer version (example)
    └── ...

Example Output

🔍 Install directory: D:\Dev\WinDbgFetch
🔍 No current installation found, downloading...
🔍 Fetching WinDbg download information...
✅ Successfully retrieved AppInstaller file
🔍 Final URL: https://windbg.download.prss.microsoft.com/dbazure/prod/1-0-0/windbg.appinstaller

🔍 ================ Parsing XML ==================
🔍 Root tag: {http://schemas.microsoft.com/appx/appinstaller/2018}AppInstaller
✅ Found version: 1.2508.27001.0
✅ Found bundle URI: https://windbg.download.prss.microsoft.com/dbazure/prod/1-2508-27001-0/windbg.msixbundle
🔍 ============ Parsing XML Completed ============

🔍 System architecture: x64
🔍 Bundle size: 742969669 bytes
🔍 Saving temp_bundle_file in : C:\Users\CYB3RW0lF\AppData\Local\Temp\tmpc5pahu55.msixbundle
🔍 Bundle size: 708.6 MB
Downloading: [==================================================] 100.0% (708.6/708.6 MB)
✅ Download complete!
🔍 Bundle contents:
  windbg_win-arm64.msix (246771283 bytes)
  windbg_win-x64.msix (250819287 bytes)
  windbg_win-x86.msix (245369822 bytes)
  AppxMetadata/AppxBundleManifest.xml (1553 bytes)
  AppxBlockMap.xml (338 bytes)
  [Content_Types].xml (469 bytes)
  AppxSignature.p7x (10427 bytes)
✅ Found manifest: AppxMetadata/AppxBundleManifest.xml
✅ Found package for architecture: windbg_win-x64.msix
🔍 Extracting package: windbg_win-x64.msix
🔍 Verifying certificates on D:\Dev\WinDbgFetch\1.2508.27001.0\windbg_win-x64.msix
✅ Digital signature verification PASSED
🔍 Time to verify: 23.71s
🔍 Extracting MSIX package...
✅ Extracted in D:\Dev\WinDbgFetch\1.2508.27001.0
🔍 Time to extract MSIX: 13.54s
✅ Installed successfully. Time to install: 1500.35s
🔍 Executing: D:\Dev\WinDbgFetch\1.2508.27001.0\DbgX.Shell.exe

Configuration

The tool automatically:

  • Detects your system architecture
  • Creates version-specific installations
  • Manages updates in the background
  • Preserves command-line arguments

No configuration files are needed!

Troubleshooting

Common Issues

"Installation failed: Could not find AppInstaller element"

  • Check your internet connection
  • Microsoft's servers might be temporarily unavailable
  • Try running the debug script to see the raw response

"DbgX.Shell.exe not found"

  • The extraction may have failed
  • Try deleting the version directory and re-running
  • Check Windows Defender isn't quarantining files

Slow downloads

  • Large bundle size (~700MB) is normal for WinDbg
  • Download speed depends on your connection and Microsoft's CDN

Debug Mode

For troubleshooting, you can use the debug request script:

python debug_req.py

This will show detailed information about the download process and save response data for analysis.

How This Differs from Official Installation

Method WinDbg Downloader Windows Store SDK
Requirements Python only Windows Store app Full SDK install
Size Downloads only WinDbg Same Entire SDK (~3GB)
Updates Automatic background Manual Manual
Offline Works after first download Requires Store Works offline
Enterprise Scriptable/automatable GUI only MSI available

Technical Details

  • Source: Microsoft's official AppInstaller service
  • Format: MSIX bundles (standard Windows app packages)
  • Verification: Digital signature validation using Windows WinTrust API
  • Storage: Version-isolated directories for easy management
  • Updates: Non-blocking background checks while running current version

Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for:

  • Bug fixes
  • Feature enhancements
  • Documentation improvements
  • Additional platform support

License

This project is licensed under the MIT License - see the LICENSE file for details.

Disclaimer

This tool downloads WinDbg directly from Microsoft's official distribution servers. It does not modify or redistribute Microsoft's software - it simply automates the download and extraction process that would normally require the Windows Store.

WinDbg is a trademark of Microsoft Corporation. This project is not affiliated with or endorsed by Microsoft.


Star this repository if you find it useful!

About

A Python tool that automatically downloads, installs, and launches the latest WinDbg from Microsoft Store without requiring the Windows Store app.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages