用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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/910235.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/910235.shtml
英文地址,請注明出處:http://en.pswp.cn/news/910235.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue3監聽屬性watch和watchEffect的詳解

文章目錄 1. 前言2. 常規用法3. 監聽對象和route變化4. 使用場景4.1 即時表單驗證4.2 搜索聯想功能4.3 數據變化聯動處理 5. watchEffect詳解5-1 基本概念5-2 核心用法基礎示例:自動響應依賴變化處理異步副作用停止監聽與清理副作用 5-3 高級場景應用監聽多個響應式…

Spring IoC核心實現揭秘

Spring IoC(控制反轉)的實現機制是Spring框架的核心,其本質是將對象的創建、依賴管理和生命周期控制權從應用程序代碼轉移到容器中。以下是其核心實現機制: ?? 一、核心實現步驟 配置元數據加載 容器啟動時讀取XML/注解/Java配置類,解析為BeanDefinition對象(包含類名、…

Solidity內部合約創建全解析:解鎖Web3開發新姿勢

合約創建基礎 new 關鍵字創建合約 在 Solidity 中,new關鍵字是創建合約實例的最基本方式,它就像是一個 “魔法鑰匙”,能夠在以太坊區塊鏈上生成一個全新的合約實例。使用new關鍵字創建合約的過程非常直觀,就像我們在其他編程語言…

OCR大模型,破解金融文檔處理困境,從文字識別到文字理解

金融機構在日常運營中處理海量文檔。這些文檔類型多樣,格式復雜,是業務運營的基礎。如何高效、準確地處理這些文檔,直接影響機構的運營效率與風險控制水平。新一代的OCR大模型技術為此提供了有效的解決方案。它提升了文檔處理的自動化程度與數…

2025.6.21筆記(2)

1.編寫一個程序,輸入一個整數,判斷它是奇數還是偶數 解題思路: 1.因為要判斷輸入的數是奇數還是偶數,所以要用到if判斷 2.判讀奇偶數:如果這個數%20,則它為偶數,如果這個數%2!0,則…

【Ambari3.0.0 部署】Step7—Mariadb初始化-適用于el8

如果有其他系統部署需求可以參考原文 https://doc.janettr.com/install/manual/ MariaDB 10 是 Ambari 及大數據平臺的常見數據庫方案。本文適配 Rocky Linux 8.10,涵蓋 MariaDB 10.11 推薦安裝、YUM 源配置、參數優化、初始化和安全設置,幫助你一步到位…

SpringBoot電腦商城項目--刪除收獲地址+熱銷排行

刪除收獲地址 1 刪除收獲地址-持久層 1.1 規劃sql語句 在刪除操作之前判斷該數據是否存在,判斷該條地址的歸屬是否是當前的用戶執行刪除收貨地址的操作 delete from t_address where aid? 如果用戶刪除的時默認地址,將剩下地址的某一條作為默認收貨地…

MIMIC-III 數據集文件簡介

文件簡介: 共26個文件 admissions.csv 患者入院信息(入院時間、出院時間、入院類型、科室等)。 callout.csv ICU 外科室請求 ICU 會診的呼叫記錄。 caregivers.csv 護理患者的醫護人員信息(身份、角色等)。…

UL/CE雙認證!光寶MOC3052-A雙向可控硅輸出光耦 智能家居/工業控制必備!

光寶MOC3052-A雙向可控硅輸出光耦詳解 1. 產品定位 MOC3052-A 是光寶科技(Lite-On)推出的 雙向可控硅驅動光耦,屬于光電隔離型半導體器件,主要用于交流負載的隔離控制,實現低壓控制電路(如MCU)…

讓沒有小窗播放的視頻網站的視頻小窗播放

讓沒有小窗播放的視頻網站的視頻小窗播放 // 視頻小窗播放控制臺腳本 // 將此代碼復制到瀏覽器控制臺運行 // 運行后,頁面中的視頻將添加小窗播放功能(function() {// 獲取頁面中的所有video元素const videos document.querySelectorAll(video);if (videos.length…

Linux內核在啟動過程中掛載根文件系統rootfs的過程

一、掛載根文件系統rootfs的過程: 1. ?初始虛擬根文件系統的掛載? 內核啟動時首先會創建并掛載一個?臨時虛擬根文件系統(如initramfs或rootfs)??15。該階段主要作用: 提供基礎的設備節點和目錄結構,確保內核能訪…

【LeetCode】力扣題——輪轉數組、消失的數字、數組串聯

🔥個人主頁:艾莉絲努力練劍 ?專欄傳送門:《C語言》、《數據結構與算法》、C語言刷題12天IO強訓 🍉學習方向:C/C方向 ??人生格言:為天地立心,為生民立命,為往圣繼絕學,…

Java Stream詳解

Java Stream詳解 Stream 是 Java 8 引入的流式數據處理工具,可以像流水線一樣對集合數據進行高效操作(過濾、轉換、統計等)。核心特點: 鏈式操作:支持多個操作串聯不修改原始數據:生成新結果支持并行處理…

Java回歸循環理解

一、Java循環的四種 1. 傳統for循環 - 精確控制的首選 // 遍歷數組 int[] numbers {1, 2, 3, 4, 5}; for (int i 0; i < numbers.length; i) {System.out.println(numbers[i]); }// 嵌套示例&#xff1a;矩陣遍歷 int[][] matrix {{1, 2}, {3, 4}}; for (int row 0; r…

飛騰D2000金融工控主板,點亮經濟高質量發展

近年來&#xff0c;國家不斷推出金融行業的政策和法規&#xff0c;推動金融業高質量發展。在國家大力推進金融行業改革和創新的大環境下&#xff0c;金融工控主板市場也迎來了新的發展機遇。隨著國產CPU技術的不斷突破&#xff0c;以及我國對金融安全重視程度的提高&#xff0c…

SimpleITK——創建nrrd體素模型

在介紹如何生成nrrd前&#xff0c;了解一下為什么醫學影像上一般使用nrrd的體素模型&#xff1f; 為什么醫學影像上一般使用nrrd的體素模型&#xff1f; 在醫學影像領域&#xff0c;?NRRD&#xff08;Nearly Raw Raster Data&#xff09;格式?被廣泛用于存儲體素模型&#x…

Docker容器部署KES

一、安裝部署 1&#xff0c;導入鏡像 #導入鏡像&#xff08;root用戶&#xff09; [rootnode docker ]# mv kdb_x86_64_V008R006C009B0014.tar kingbase.tar [rootnode docker]# docker load -i kingbase.tar#查看鏡像&#xff08;root用戶&#xff09; [rootnode docker]# d…

C++基礎練習 sort函數,用于排序函數

題目&#xff1a; https://acm.hdu.edu.cn/showproblem.php?pid2039 解答&#xff1a; #include <iostream> #include <cmath> #include <algorithm> using namespace std;double a[3]; int main(){int n;cin>>n;while(n--){cin>>a[0]>>…

棱鏡觀察|EMB“重構”卡鉗,車企降本壓力與Brembo困局

傳統制動卡鉗市場&#xff0c;正在迎來變革時刻。 一直以來&#xff0c;采埃孚、大陸集團、日立安斯泰莫等外資供應商占據中國乘用車卡鉗前裝市場&#xff08;包括前制動卡鉗和后集成EPB卡鉗&#xff09;的半壁江山。同時&#xff0c;伯特利、亞太股份、萬向、弗迪等中國供應商…

《顛覆傳統:CSS遮罩的圖像創意設計指南》

想象有一塊神奇的模板&#xff0c;上面有各種形狀的鏤空區域&#xff0c;當我們將這塊模板覆蓋在圖像上時&#xff0c;只有透過鏤空區域才能看到圖像的部分&#xff0c;而模板遮擋的地方則被隱藏起來&#xff0c;這便是CSS遮罩的核心概念。遮罩&#xff0c;簡單來說&#xff0c…