当前位置: 首页 > news >正文

用Python实现安全封装EXE文件加密保护工具

一、概述

这个Python脚本实现了一个强大的EXE文件加密保护工具,它能够将任何Windows可执行文件封装到一个带密码保护的GUI程序中。核心功能包括:

  • 使用AES-256加密算法保护原始EXE文件

  • 创建美观的密码验证界面

  • 支持自定义程序图标

  • 自动处理PyInstaller打包过程

  • 修复Tkinter在打包环境中的运行时问题

二、核心功能模块

1. 文件加密模块

def encrypt_file(key, in_path, out_path):"""使用AES-256 CBC模式加密文件"""iv = get_random_bytes(16)  # 生成随机初始化向量cipher = AES.new(key, AES.MODE_CBC, iv)  # 创建加密器with open(in_path, 'rb') as f_in:data = f_in.read()  # 读取原始文件内容# 加密并填充数据ct_bytes = cipher.encrypt(pad(data, AES.block_size))encrypted = iv + ct_bytes  # 组合IV和密文with open(out_path, 'wb') as f_out:f_out.write(encrypted)  # 写入加密文件

2. Stub程序生成器

这是加密后的EXE文件运行时显示的解锁界面核心代码:

def generate_stub_code(password_hash, encrypted_data_base64):"""生成包含密码验证界面的Python代码"""return f'''#!/usr/bin/env python
# Tkinter运行时修复 - 解决打包环境下的关键问题
def fix_tkinter_runtime():if getattr(sys, 'frozen', False):base_path = sys._MEIPASStk_data_dir = os.path.join(base_path, '_tk_data')if not os.path.exists(tk_data_dir):tk_data_dir = os.path.join(ba

相关文章:

  • Windows IOCP(I/O Completion Port)模型详解
  • TCP 三次握手与四次挥手全流程详解
  • Android Studio 打 APK 包报错 Invalid keystore format 的解决方法
  • Linux运维新人自用笔记(Ubuntu磁盘命名规则、新磁盘分区、主流文件系统类型、mkfs命令格式化文件系统、临时和永久挂载、挂载报错、dd指令)
  • C++11 std::thread 多线程编程详解
  • 18年磨一剑!开利科技启动数字化增量投资新时代
  • 常见应用层协议介绍
  • MCP入门实战(Python版)
  • [C++] traits机制
  • 领域驱动设计(DDD)【2】之项目启动与DDD基本开发流程
  • AtCoder AT_abc411_c [ABC411C] Black Intervals
  • 多头注意力机制中全连接函数
  • 阿里云ACP认证-数据仓库
  • 如何优化HarmonyOS 5的分布式通信性能?
  • day44-硬件学习之arm启动代码
  • 3D可视化数字孪生智能服务平台-物联网智控节能控、管、维一体化技术架构
  • Shell编程中的Ansible常用模块
  • Rust 和 R 语言的十大应用领域
  • springboot口腔管理平台
  • 2025.6.21笔记
  • 怎么用php源代码做网站/建站系统哪个比较好
  • 如何用asp做网站/seo在线培训机构排名
  • 网站域名改版怎么做/网站测试报告
  • wordpress 翻页没内容/福州短视频seo服务
  • 深圳响应式建站/热点时事新闻
  • 广告传媒公司的网站应该怎么做/seo排名查询工具