ArticleReplaceBatch/deepseek-clien/README.md

276 lines
6.2 KiB
Markdown
Raw Normal View History

2025-08-06 15:57:14 +08:00
# EXE文件加密保护系统 v2.0
这是一个完整的EXE文件加密保护系统支持卡密验证、机器码绑定和数据库管理。
## ⚡ 主要功能
- **EXE文件加密**: 将任意EXE文件加密生成需要卡密验证的版本
- **卡密系统**: 生成、管理、验证授权卡密
- **机器码绑定**: 防止卡密在多台设备上使用
- **数据库管理**: MySQL数据库存储卡密信息
- **图形化界面**: 友好的GUI操作界面
- **完整性验证**: 内置文件完整性检查工具
## 🛠️ 系统要求
- **操作系统**: Windows 7/8/10/11 (推荐), Linux, macOS
- **Python版本**: Python 3.7 或更高版本
- **数据库**: MySQL 5.7 或更高版本
- **内存**: 至少 512MB RAM
- **磁盘空间**: 至少 100MB 可用空间
## 📦 依赖包
系统会自动安装以下依赖包:
```
mysql-connector-python>=8.0.0
cryptography>=3.4.0
pyperclip>=1.8.0
cx_Freeze>=6.0 (用于构建)
PyInstaller>=4.0 (备用构建工具)
```
## 🚀 快速开始
### 1. 准备文件
确保以下文件在同一目录中:
- `main.py` - 主程序界面
- `validator.py` - 验证程序
- `database.py` - 数据库操作
- `encryptor.py` - 加密功能
- `machine_code.py` - 机器码生成
- `build.py` - 构建脚本
- `db_config.json` - 数据库配置(可选)
### 2. 构建可执行文件
运行构建脚本:
```bash
python build.py
```
构建成功后,在 `dist_final``dist` 目录中找到:
- `EXE加密工具.exe` - 主程序
- `validator.exe` - 验证程序
### 3. 配置数据库
1. 安装并启动MySQL服务器
2. 创建数据库和用户:
```sql
CREATE DATABASE license_system;
CREATE USER 'license_user'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON license_system.* TO 'license_user'@'%';
FLUSH PRIVILEGES;
```
3. 运行主程序,在"数据库配置"标签页中填入连接信息
4. 点击"连接数据库"和"创建数据库表"
### 4. 生成卡密
1. 在"卡密生成"标签页中设置有效期和数量
2. 点击"生成卡密"
3. 复制或导出生成的卡密
### 5. 加密EXE文件
1. 在"EXE加密"标签页中:
- 选择要加密的EXE文件
- 设置输出路径
- 选择validator.exe作为验证程序
2. 点击"加密EXE文件"
3. 等待加密完成
### 6. 测试加密文件
1. 双击加密后的EXE文件
2. 输入有效的卡密
3. 验证通过后,原程序将自动启动
## 📖 详细使用说明
### 数据库配置
**连接参数说明**:
- **主机**: MySQL服务器IP地址或域名
- **数据库**: 数据库名称(默认: license_system
- **用户名**: MySQL用户名
- **密码**: MySQL密码
**建议配置**:
- 使用专用的数据库用户
- 设置强密码
- 如果是生产环境配置SSL连接
### 卡密管理
**卡密状态说明**:
- `unused` - 未使用
- `active` - 已激活
- `expired` - 已过期
- `banned` - 已封禁
**操作说明**:
- **搜索**: 支持按卡密、状态、机器码搜索
- **封禁/解封**: 可以手动管理卡密状态
- **刷新**: 重新加载最新数据
### 加密过程详解
1. **文件验证**: 检查源文件和验证程序的完整性
2. **数据加密**: 使用AES-256加密算法加密源文件
3. **数据组合**: 将验证程序、配置信息、密钥和加密数据组合
4. **文件生成**: 生成新的可执行文件
5. **完整性测试**: 自动测试加密文件的完整性
### 验证流程
当用户运行加密后的EXE时
1. **提取数据**: 从文件中提取加密信息
2. **输入卡密**: 弹窗要求用户输入卡密
3. **连接数据库**: 连接到授权服务器
4. **验证卡密**: 检查卡密有效性和机器码绑定
5. **解密运行**: 验证通过后解密并运行原程序
## 🔧 高级配置
### 自定义数据库配置
创建 `db_config.json` 文件:
```json
{
"host": "your-database-host",
"database": "license_system",
"user": "your-username",
"password": "your-password"
}
```
### 机器码调试
如果遇到机器码相关问题,可以运行:
```bash
python machine_code.py
```
这将显示详细的硬件信息和机器码生成过程。
### 构建选项
构建脚本支持以下选项:
```bash
python build.py --help # 显示帮助信息
```
## 🐛 常见问题
### 1. 加密后的文件无法运行
**可能原因**:
- validator.exe文件损坏或版本不匹配
- 数据库连接配置错误
- 原始EXE文件有特殊依赖
**解决方案**:
- 重新构建validator.exe
- 检查数据库配置
- 使用测试工具验证加密文件完整性
### 2. 卡密验证失败
**可能原因**:
- 卡密已过期或被封禁
- 机器码不匹配
- 数据库连接失败
**解决方案**:
- 检查卡密状态
- 确认机器码是否正确绑定
- 测试数据库连接
### 3. 构建失败
**可能原因**:
- Python版本不支持
- 依赖包安装失败
- 权限不足
**解决方案**:
- 升级Python到3.7+
- 手动安装依赖包
- 以管理员身份运行
### 4. 机器码不稳定
**可能原因**:
- 虚拟机环境
- 硬件信息获取失败
- 系统配置变化
**解决方案**:
- 使用物理机测试
- 运行机器码稳定性测试
- 重置机器码缓存
## 🔒 安全注意事项
1. **数据库安全**:
- 使用强密码
- 限制数据库访问IP
- 定期备份数据库
2. **文件保护**:
- 保护validator.exe不被替换
- 定期更新加密密钥
- 监控异常访问
3. **网络安全**:
- 使用HTTPS连接数据库
- 配置防火墙规则
- 监控数据库访问日志
## 📝 更新日志
### v2.0 (当前版本)
- 重写validator.py修复验证逻辑
- 优化加密过程,提高稳定性
- 增加完整性测试功能
- 改进机器码生成算法
- 添加详细的错误处理
- 优化用户界面体验
### v1.0
- 基础功能实现
- 简单的EXE加密
- MySQL数据库支持
## 📞 技术支持
如果遇到问题,请提供以下信息:
1. 操作系统版本
2. Python版本
3. 错误信息截图
4. 详细的操作步骤
5. 相关日志文件
## ⚖️ 许可证
本软件仅供学习和研究使用。请遵守相关法律法规,不得用于商业用途或非法活动。
## 🤝 贡献
欢迎提交Issue和Pull Request来改进这个项目。
---
**警告**: 此工具涉及EXE文件的加密和验证请确保遵守当地法律法规仅用于合法用途。