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