Professional CLI tool for extracting, modifying, and repacking .NET single-file bundles with advanced features
- π Hash Verification System - Detect file modifications with SHA256
- π Bundle Comparison - Side-by-side comparison of two bundles
- π Manifest Export - Export bundle metadata (JSON/XML/TXT)
- π Search Functionality - Find files across multiple bundles
- πΎ Auto Backup - Automatic backup before repacking
- π Session Logging - Detailed operation logs
- Enhanced progress visualization with progress bars
- Colored console output for better UX
- Batch operations support
- Comprehensive error handling
- Work folder management
- β Extract Bundles - Unpack all embedded files from single-file executables
- β Repack Bundles - Modify and inject files back into bundles
- β Inspect Details - View bundle metadata and architecture info
- β Batch Operations - Process multiple bundles simultaneously
- π Hash Verification - Compare bundle integrity against saved hashes
- π Bundle Diff - Identify differences between bundle versions
- π File Search - Search for specific files across bundles
- π Export Manifests - Generate detailed bundle reports
- πΎ Smart Backup - Timestamped backups with restore capability
- .NET Core 3.0 / 3.1
- .NET 5.0
- .NET 6.0 (LTS)
- .NET 7.0
- .NET 8.0 (LTS)
- .NET 9.0
- .NET 10.0
- x86 (32-bit)
- x64 (64-bit)
- ARM (32-bit)
- ARM64 (64-bit)
- .NET 6.0 SDK or higher
- Windows, Linux, or macOS
Download the latest release from Releases
git clone https://github.com/trup40/DotNetBundlePatcher.git
cd DotNetBundlePatcher
dotnet build -c Release- Place your bundle in the
in/folder - Run the application
dotnet run # or ./DotNetBundlePatcher - Extract: Select option
1to extract files - Modify: Edit files in
work/<bundle-name>/ - Repack: Select option
2to create patched bundle - Output: Find result in
out/folder
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π¦ .NET BUNDLE PATCHER
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Version 2.0.0
[1] Extract Bundle
[2] Repack Bundle
[3] Show Bundle Details
[4] Clean Work Folder
[5] Batch Operations
[6] Export Bundle Manifest
[7] Search in Bundles
[8] Compare Bundles
[X] Exit
Your choice: 1
Extracts all embedded files from a single-file bundle.
- Files are extracted to
work/<bundle-name>/ - Original structure is preserved
- Progress bar shows extraction status
Creates a new patched bundle with modified files.
- Only modified files need to be present
- Original bundle must remain in
in/folder - Automatic backup is created
- Output:
<name>_patched_<timestamp>.exe
Verify bundle integrity using saved hashes.
- Export hashes (Option 6 β Hash verification)
- Modify files in work folder
- Verify to see what changed
- Shows modified files
- Displays old vs new hashes
- Identifies added/removed files
Compare two bundles side-by-side.
- File count differences
- Added/removed files
- Size differences
- Architecture comparison
Find specific files across all bundles in in/ folder.
Search term: appsettings.json
Results:
π¦ App1.exe
β appsettings.json (2.34 KB)
π¦ App2.exe
β appsettings.production.json (1.89 KB)
DotNetBundlePatcher/
βββ in/ β Place original bundles here
βββ work/ β Extracted files (edit these)
βββ out/ β Patched bundles output
βββ logs/ β Session logs
βββ backup/ β Automatic backups
βββ exports/ β Exported manifests
Extract all bundles in in/ folder at once:
- Option
5(Batch Operations) - Option
1(Extract All)
Generate detailed bundle report:
- Option
6(Export Bundle Manifest) - Choose format: JSON, XML, or TXT
- Find in
exports/folder
Check if bundle was modified:
- Export hashes before modification
- Make changes
- Run verification to see differences
- Code Signing: Repacked bundles lose original signatures
- Testing: Always test in isolated environment first
- Backups: Tool creates automatic backups, but keep your own too
- Legality: Only modify software you own or have rights to
- β Create manual backup of original
- β Extract and verify with hash
- β Make minimal changes
- β Test in isolated environment
- β Verify hash after repacking
- β Document all changes
Q: "Cannot read bundle" error
- Ensure file is a valid .NET single-file bundle
- Check if .NET version is supported
- Verify file is not corrupted
Q: Repack fails
- Original bundle must be in
in/folder - Check if work folder matches bundle name
- Review logs in
logs/folder
Q: Modified files not updating
- Ensure files are in correct relative path
- File names are case-sensitive on Linux/Mac
- Check logs for detailed error messages
Q: Hash verification shows all files modified
- Ensure you're comparing against correct hash file
- Check if bundle version matches
- Verify file was not re-extracted
- π Check [logs/] for detailed error messages
- π Report issues
- π¬ Discussions
Contributions are welcome! Please check CONTRIBUTING.md for guidelines.
git clone https://github.com/trup40/DotNetBundlePatcher.git
cd DotNetBundlePatcher
dotnet restore
dotnet builddotnet test- Hash verification system with export and verify features
- Bundle comparison functionality
- Manifest export (JSON/XML/TXT formats)
- Search in bundles feature
- Automatic backup system
- Session-based logging
- Progress bars for all operations
- Batch operations menu
- Work folder management
- Enhanced console UI with colors
- Better error handling and messages
- Detailed operation feedback
- User experience improvements
- Restructured menu system
- Improved file organization
- Initial release
- Basic extract and repack functionality
- Bundle details inspection
- Built with AsmResolver by Washi
- Inspired by .NET single-file deployment format
- Community feedback and contributions
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is for:
- β Educational purposes
- β Debugging your own applications
- β Recovering lost source code from your apps
- β Legitimate software analysis
NOT for:
- β Piracy or license circumvention
- β Malware creation
- β Unauthorized software modification
- β Violating software terms of service
Users are responsible for ensuring compliance with applicable laws and software licenses.
- π Report Bug
- π‘ Request Feature
- π¬ Discussions
β Star this repository if you find it useful!
AI was used for console visualization and README.md preparation.
This project is free and open-source. If you find this useful and would like to support the development process, you can buy me a coffee using the crypto addresses below! π
| Coin | Network | Wallet Address |
|---|---|---|
| USDT (Tether) | TRC20 (Tron) | TWxJVQ3PBCd8ZJJVkX2joe8WRGcSCdh8Ws |
| BTC (Bitcoin) | Bitcoin (Bech32) | bc1q7207qk3wk94a94xvxx43lxawsg69zpm0atvtd8 |
| ETH (Ethereum) | ERC20 | 0x1f5A2e35752c6f01c753F334292Fc7635Caeef56 |
| BNB | BSC (BEP20) | 0x93845c5Fb889C36E072B5683f1616C625C2deBe7 |
Important
Please ensure that the Network selection matches the table exactly. Using the wrong network may result in a permanent loss of funds.