BlobPE 1.0.0
See the version list below for details.
dotnet add package BlobPE --version 1.0.0
NuGet\Install-Package BlobPE -Version 1.0.0
<PackageReference Include="BlobPE" Version="1.0.0" />
<PackageVersion Include="BlobPE" Version="1.0.0" />
<PackageReference Include="BlobPE" />
paket add BlobPE --version 1.0.0
#r "nuget: BlobPE, 1.0.0"
#:package BlobPE@1.0.0
#addin nuget:?package=BlobPE&version=1.0.0
#tool nuget:?package=BlobPE&version=1.0.0
BlobPE
Description
BlobPE is a lightweight and experimental .NET (C#) library that enables standalone applications to persist structured data directly within their own executable files. By injecting a compact blob (typically JSON) into the binary, BlobPE allows applications to store and modify internal key/value data without relying on external files or configurations.
The library is intended for advanced use cases such as proof-of-concept tools, binary experiments, or environments where minimizing external traces is desired. Data is stored within the executable itself, delimited by clear markers (e.g., [BLOB_START]... [BLOB_END]
), and can be read, updated, and re-injected at runtime.
Warning ⚠️: BlobPE uses a non-standard approach to binary self-modification. It is not recommended for production environments, but rather for educational, exploratory, or controlled scenarios.
Features
- Inject structured data (JSON format) directly into the application's binary
- Read and update key/value pairs embedded in the executable
- Rewrite the binary to persist updated data
- Self-relaunch after patching
- No need for external configuration or storage files
- Designed for use with Windows Forms.
Features in Development
Blob size limiter | Automatic padding and blob size enforcement to ensure binary integrity |
Binary offset alignment | More robust detection and modification of embedded blobs |
Obfuscation | Support for basic encoding or encryption of stored data |
Custom section placement | Ability to store the blob in custom PE sections instead of only at the end of the file |
Prerequisites
- .NET 6.0 SDK or later
- Windows operating system
- Write permissions on the application’s executable file
Contributing
Contributions are welcome! To contribute to this project:
- Fork the repository.
- Create a new branch (
git checkout -b my-feature
). - Make your changes.
- Commit (
git commit -m 'Add my feature'
). - Push to your branch (
git push origin my-feature
). - Open a Pull Request.
Issues and Suggestions
If you encounter issues or have suggestions for improvements, please open a ticket via the GitHub issue tracker.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Authors
- Miiraak – Lead Developer
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.