# 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文件的加密和验证,请确保遵守当地法律法规,仅用于合法用途。