2025-08-08 18:31:55 +08:00
|
|
|
|
```markdown
|
|
|
|
|
|
# EXE Secure Wrapper
|
2025-08-08 18:26:49 +08:00
|
|
|
|
|
2025-08-08 18:31:55 +08:00
|
|
|
|
一套完整的 EXE 加壳授权系统
|
|
|
|
|
|
**透明壳设计** – 不修改原始 EXE,只在其外部套一层授权验证器,验证通过后原样启动。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 📦 功能特性
|
|
|
|
|
|
|
|
|
|
|
|
| 功能 | 描述 |
|
|
|
|
|
|
| --- | --- |
|
|
|
|
|
|
| 🔐 **透明壳** | 不触碰原 EXE 字节,100 % 原样运行 |
|
|
|
|
|
|
| 🗝️ **卡密授权** | 一机一码,支持有效期、封禁、释放 |
|
|
|
|
|
|
| 🖥️ **跨平台** | Windows / Linux / macOS 均可生成机器码 |
|
|
|
|
|
|
| 🛡️ **防护机制** | 反调试、反虚拟机、进程守护 |
|
|
|
|
|
|
| 📊 **可视管理** | 一键生成、导出、管理卡密 |
|
|
|
|
|
|
| ⚙️ **可配置** | 数据库、日志、临时文件等均可自定义 |
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 🚀 快速开始
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 克隆/下载代码
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
git clone https://github.com/yourname/exe-secure-wrapper.git
|
|
|
|
|
|
cd exe-secure-wrapper
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 安装依赖
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
pip install -r requirements.txt
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
> `requirements.txt` 示例
|
|
|
|
|
|
> ```
|
|
|
|
|
|
> mysql-connector-python
|
|
|
|
|
|
> pyperclip
|
|
|
|
|
|
> psutil
|
|
|
|
|
|
> pywin32
|
|
|
|
|
|
> ```
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 运行主程序
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
python main.py
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 📋 使用步骤(GUI)
|
|
|
|
|
|
|
|
|
|
|
|
| 步骤 | 操作界面 |
|
|
|
|
|
|
| --- | --- |
|
|
|
|
|
|
| 1️⃣ **数据库配置** | 填写数据库地址、账号密码并连接 |
|
|
|
|
|
|
| 2️⃣ **生成卡密** | 选择有效期、数量 → 一键生成 |
|
|
|
|
|
|
| 3️⃣ **EXE 套壳** | 选择源 EXE → 选择输出路径 → 点击“加密” |
|
|
|
|
|
|
| 4️⃣ **授权使用** | 将生成的壳 EXE 分发给用户,用户首次运行时输入卡密 |
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 📁 目录结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
exe-secure-wrapper/
|
|
|
|
|
|
├── config.py # 全局配置
|
|
|
|
|
|
├── database.py # 卡密、数据库操作
|
|
|
|
|
|
├── encryptor.py # EXE 套壳逻辑
|
|
|
|
|
|
├── machine_code.py # 机器码生成
|
|
|
|
|
|
├── validator_wrapper.py# 壳程序模板
|
|
|
|
|
|
├── main.py # GUI 主程序
|
|
|
|
|
|
├── db_config.json # 数据库配置示例
|
|
|
|
|
|
└── README.md
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 🛠️ 二次开发
|
|
|
|
|
|
|
|
|
|
|
|
### 自定义数据库表
|
|
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
|
CREATE TABLE license_keys (
|
|
|
|
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
|
|
|
|
key_code VARCHAR(50) NOT NULL UNIQUE,
|
|
|
|
|
|
machine_code VARCHAR(100) DEFAULT NULL,
|
|
|
|
|
|
start_time DATETIME DEFAULT NULL,
|
|
|
|
|
|
end_time DATETIME NOT NULL,
|
|
|
|
|
|
status ENUM('unused','active','expired','banned') DEFAULT 'unused',
|
|
|
|
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
|
|
|
|
);
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 嵌入更多资源
|
|
|
|
|
|
|
|
|
|
|
|
在 `encryptor.py` → `encrypt_file()` 中,可以继续往 `resource_data` 字典里添加自定义字段,壳程序即可通过 `RESOURCE_DATA` 读取。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 🧪 命令行调试
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 进入调试模式(控制台输出)
|
|
|
|
|
|
python validator_wrapper.py --console
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## ⚖️ 授权与合规
|
|
|
|
|
|
|
|
|
|
|
|
- 仅供学习及合法商业用途。
|
|
|
|
|
|
- 禁止用于病毒、木马、破解等非法场景。
|
|
|
|
|
|
- 使用者需自行确保符合当地法律法规。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 📄 License
|
|
|
|
|
|
|
|
|
|
|
|
MIT © [Your Name](https://github.com/yourname)
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 🤝 贡献与反馈
|
|
|
|
|
|
|
|
|
|
|
|
欢迎 Issue / PR,一起让项目变得更好!
|
|
|
|
|
|
```
|