https://github.com/whoisdreamer/any-file-binder
Any file binder using rust
https://github.com/whoisdreamer/any-file-binder
binder file-binder rust windows
Last synced: 6 months ago
JSON representation
Any file binder using rust
- Host: GitHub
- URL: https://github.com/whoisdreamer/any-file-binder
- Owner: wHoIsDReAmer
- Created: 2023-03-24T02:40:03.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-09T20:04:15.000Z (6 months ago)
- Last Synced: 2024-11-09T21:18:00.245Z (6 months ago)
- Topics: binder, file-binder, rust, windows
- Language: Rust
- Homepage:
- Size: 31.3 KB
- Stars: 5
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🪄 any-file-binder
[](https://www.rust-lang.org/)
[](LICENSE)
[](https://github.com/wHoIsDReAmer/any-file-binder/releases)A post-modern CLI tool for secure file binding on Windows systems, written in Rust 🦀
[Features](#features) • [Installation](#installation) • [Usage](#usage) • [License](#license)
## ✨ Features
- Secure file encryption using AES-256-CBC and AES-128-CBC
- Multiple file binding support
- Custom stub executable configuration
- Zero external dependencies for runtime## 🚀 Installation
No installation providing, just build and run.## 📖 Usage
### Basic Command Structure
```bash
any-file-binder.exe -e -f [-s ] [-o ]
```### Command Arguments
| Argument | Description | Default |
|----------|-------------|---------|
| `-e, --encryption` | Encryption type | `2` (AES-256-CBC) |
| `-f, --files` | Files to bind (multiple allowed) | Required |
| `-s, --stub` | Custom stub executable path | `stub.exe` |
| `-o, --output` | Output file path | `output.exe` |## 🔧 Technical Details
### Binary Structure
The binder combines multiple files into a single executable in a simple and secure way:```
[Stub Executable][__PARSE_STUB__][Metadata][Bound Files]
```#### Encryption Header
```
| Field | Type | Size | Description |
|-----------------|------|---------|------------------------|
| Separator | str | varies | "__PARSE_STUB__" |
| Encryption Type | u8 | 1 byte | 0: AES-256, 1: AES-128|
```#### File Entry Structure
```
| Field | Type | Description |
|--------------------|--------|------------------------|
| Extension Length | u8 | Size of file extension |
| Extension | string | File extension |
| Encrypted Length | u64 | Size of encrypted data |
| Encrypted Content | bytes | Encrypted file data |
```### Supported Encryption Types
- `1`: AES-128-CBC
- `2`: AES-256-CBC## 📝 License
```
MIT LicenseCopyright (c) 2024 wHoIsDReAmer
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software for non-commercial purposes only, including the rights
to use, copy, modify, merge, publish, and distribute copies of the Software,
subject to the following conditions:1. The Software may not be used for any commercial purposes whatsoever.
Commercial use includes but is not limited to:
- Using the Software in a commercial product
- Using the Software in a business environment
- Selling or licensing the Software
- Using the Software to generate revenue directly or indirectly2. The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.3. Any distribution of the Software or derivative works must be under the same
non-commercial terms.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```## ⚠️ Educational Purpose Only
This project was created for educational purposes to learn about Windows PE file format and Encryption. Please do not use this tool for malware or any malicious purposes. The author takes no responsibility for misuse of this software.