Python-利用tkinter库编写一个exe伪恶意程序文件(下)

前言

接着上篇所讲的,我们已经完成了源代码的准备,并将其储存在了function_1.py文件中。接下来我们将把function_1.py文件编写为相对应的exe文件。那么好,废话不多说,我们直接开始。(温馨提示:由于整蛊的需要,建议将上篇文章中的begin值设为100~500之间)。

1,第三方库的介绍

在本篇文章中,我们需要用到Python中的一个第三方库pyinstaller。这里有几个概念需要我们简单了解一下:

一:什么是Python第三方库

二:Python标准库与第三方库的联系和区别

更详细的内容我将会在下一章节中进一步讲解说明。

(温馨提示:上篇文章中我们调用的库:os,time,random,platform,tkinter,threading均属于标准库,因此我们可以直接使用,不需要我们下载)

2,第三方库的准备

我们已经知道了Pyinstaller的具体作用,以及其在本次编程中扮演的角色,那么接下来我们就需要先准备好Pyinstaller。因为Pyinstaller是第三方库,因此搭建Python环境时系统是不会自动下载的,这需要我们自己去下载

一:查看自己之前是否已经下载好了Pyinstaller:可利用pip命令查看,具体操作:在终端(Pycharm自带终端,Python IDLE 可通过按住"win+R"键,输入"cmd",回车打开系统本地终端)

如下所示:

Pycharm

f822413480a440afb1b3831f0a985061.png

Python IDLE

19f46bf227114b67af62defd00390a99.png

c6daf6d8221b4f1795dacef8be4a1cbf.png

ae6b589d785341a3934d6e8f95a0b23a.png

在终端中输入"pip list",回车等待,我们就可以看到我们已经下载好的第三方库了。(温馨提示:"pip list"命令返回的第三方库名单是按照首字母A~Z排列的,可以帮助我们快速查找所需的第三方库)。如下所示:

4199dd2ce183446e876d0f5a40ec03ea.png

8b074d6e25dd46c2aab444964da00295.png

接下来我们直接在里面找是否有Pyinstaller,如果有,我们第三方库的准备工作就完成了;如果没有,我们接着在终端中输入命令"pip install Pyinstaller",回车等待。(由于我的已经下载好了,不需要重复操作,因此后面下载Pyinsatller这一步我就不作展示了,请大家自行操作)。回车等待一断时间后,当我们看到命令执行的最后结果为"......Successfully installed pyinstaller"时, 表明我们已经成功下载了。至此,第三方库的准备就完成了。

3,将初始文件编译为exe文件

在开始"将初始文件编译为exe文件"这一步操作之前,我们需要简单了解一下Pyinstaller相关命令。Pyinstaller中的"-F "命令将指定文件打包后只生成一个exe格式文件。我们接下来就进行"将初始文件编译为exe文件"的具体操作:

一:打开终端(如下所示)

f997d7cc6042472b82c5d1ad2fe97287.png

二:执行Pyinstaller中的"-F"命令将初始文件打包为对应的exe文件(如下所示)

我们在终端执行命令"pyinstaller -F 文件名"(我这里的执行文件为function_1.py)

41c09524e86c4861a5d2097309cdea78.png

接着我们按下回车,等待一段时间。当我们看到命令的执行结果为"......completed successfully"时,就代表我们的打包工作成功了。(如下所示)

76dbb6d63f444cb2b9049768f5c761cc.png

 

我们接着返回主界面,发现在执行完"pyinstaller -F 文件名"命令后,python项目1下面的文件夹多了几个-build,dist和function_1.spec。(如下所示)

f85e6711fcbb41ce9cc584ccd164b083.png

我们接着点开dist文件夹,发现里面有一个名为"xxx.exe"的文件,其实这就是我们已经打包完成的exe文件。我们不妨将该文件复制后转移到本地文件夹中,点击运行,发现文件运行起来了且运行效果与function_1.py文件无异。(如下所示)

4475130e13094a179a80866bfe6f5be4.png

11f85ec3273845458196beb7b0f8dfe5.png

528a0ed22060456f95073271d59b054c.png

abf588f9cbc14f75aec2c33d119a1071.png

ff1f3d19548b4b398e4adcb6ab05c76b.png

至此,我们的编译工作就完成了。生成的exe文件我们就可以转发给室友,整蛊一下Ta了。

OK,本章节就到此为止啦,关于本篇文章中有关内容更详细的补充解读我会在下一章节展开。

(小白温馨提示:1,pip是一个广泛使用的Python包管理工具,它全称是Python Package Index,提供了对Python包的查找、下载、安装、卸载的功能。pip允许开发者安装和管理不属于Python标准库的第三方库和依赖项,是Python开发工作流程中的重要工具。2,PyInstaller是一个强大的工具,它能够将Python脚本及其依赖项打包成独立可执行文件。这个工具特别适用于那些希望在没有安装Python环境的计算机上运行Python应用程序的用户。Pyinstaller支持多种操作系统,包括Windows、Linux、macOS等,并且能够生成在这些平台上运行的可执行文件。3,PyCharm 是一款由 JetBrains 公司开发的 Python 集成开发环境(IDE),它为 Python 开发者提供了丰富的功能和工具,以提高开发效率。PyCharm 拥有两个版本:专业版(Professional)和社区版(Community),它们的主要区别在于功能和适用人群。

期待你的交流指教,我是闪云-微星,我们下期再见!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/466525.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java list使用基本操作

import java.util.ArrayList; import java.util.Collection; import java.util.Iterator;public class Main {public static void main(String[] args) {ArrayList list new ArrayList();list.add("张三");list.add("李四");list.add("王五");l…

【C/C++】strncpy函数的模拟实现

零.导言 之前我们学习了strncpy函数,不妨我们现在尝试模拟实现strncpy函数的功能。 一.实现strncpy函数的要点 strncpy函数是一种字符串函数,可以按字节拷贝字符类型的数组,因此我们自定义的模拟函数需要两个char类型的指针参数;…

ARM-8 定位发布版本 pstree 程序的 main 地址

逆向时如何找到main,如下: 1.readelf -h pstree ELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64 Data: 2s complement, little endian Versi…

履带机器人(一、STM32控制部分--标准库)

一、履带机器人整体逻辑框架 通过在PC端搭建上位机,使得在PC端可以给STM32发送控制指令并且接受STM32的状态信息。 通过RS485通信,使得STM32可以和电机进行通信,STM32发送启动、停止、转速、方向等指令,并接受电机返回的状态信息。 二、STM32逻辑框架 整体逻辑: 1、先…

数据库管理-第258期 23ai:Oracle Data Redaction(20241104)

数据库管理258期 2024-11-04 数据库管理-第258期 23ai:Oracle Data Redaction(20241104)1 简介2 应用场景与有点3 多租户环境4 特性与能力4.1 全数据编校4.2 部分编校4.3 正则表达式编校4.4 随机编校4.5 空值编校4.6 无编校4.7 不同数据类型上…

Rust重写万物之——从头开始编写浏览器引擎

一款用 Rust 编写的全新“轮子”最近备受关注—— 因不满大公司垄断,Gosub 项目团队用 Rust 从头开始编写了一个新的浏览器引擎,目前 star 数已超过 3k。 Gosub 项目的诞生是因为不少用户对当前的 Web 浏览器现状感到不满。 尽管市面上有许多浏览器可供选择,但其中大多数…

Elasticsearch-linux环境部署

本文主要介绍linux下elasticsearch的部署。通过在一台linux服务器中分别对elasticsearch-6.7.2版本,elasticsearch-7.3.0版本来进行安装,记录在安装elasticsearch-7.3.0版本时出现的异常情况,以及elasticsearch-head的安装。 基础环境 本机已…

mac crontab 不能使用问题简记

需要 crontab 有权限,如下截图设置 在访达上方【前往】-》【前往文件夹】输入/ 然后按 Command Shift . 显示隐藏文件,然后将 usr 放到左边栏 然后如下操作 系统设置中找到 隐私安全->完全访问磁盘 点击小锁头 点击号,将/usr/bin/c…

2款使用.NET开发的数据库系统

今天大姚给大家分享2款使用.NET开发且开源的数据库系统。 Garnet Garnet是一款由微软研究院基于.NET开源的高性能、跨平台的分布式缓存存储数据库,该项目提供强大的性能(吞吐量和延迟)、可扩展性、存储、恢复、集群分片、密钥迁移和复制功能…

基于java+SpringBoot+Vue的宠物咖啡馆平台设计与实现

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis Maven mysql5.7或8.0等等组成&#x…

书生第四期实训营基础岛——L1G2000 玩转书生「多模态对话」与「AI搜索」产品

基础任务 MindSearch使用示例 书生浦语使用示例 书生万象使用示例 进阶任务 问题:目前生成式AI在学术和工业界有什么最新进展? 回答截图: 知乎回答链接:目前生成式AI在学术和工业界有什么最新进展?

队列实现约瑟夫环(数据结构实验报告1)

目录 约瑟夫环问题 问题分析 完整代码 运行结果 约瑟夫环问题 实验题目:约瑟夫环问题:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,m为任意一个正整数。从第一个人开始顺时…

js例轮播图定时器版

要求 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"widthdevice-width, ini…

基于SSD模型的路面坑洼检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】

更多目标检测和图像分类识别项目可看我主页其他文章 功能演示&#xff1a; 基于SSD模型的路面坑洼检测系统&#xff0c;支持图像、视频和摄像实时检测【pytorch框架、python源码】_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于SSD模型的路面坑洼检测系统是在 Py…

数据结构---二叉树(顺序结构),堆(上)

树 树的概念与结构 树是⼀种⾮线性的数据结构&#xff0c;它是由 n&#xff08;n>0&#xff09; 个有限结点组成⼀个具有层次关系的集合。把它叫做树是因为它看起来像⼀棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;⽽叶朝下的。 PS 有⼀个特殊的结点&#xff…

blender导入的图片渲染看不见,图片预览正常,但渲染不出

在使用Blender时&#xff0c;我们经常会遇到导入图片后在预览渲染中显示&#xff0c;但在实际渲染时图片消失的问题。本文将提供详细的解决方法&#xff0c;帮助大家解决“Blender导入的图片渲染图像不显示”的问题。 问题原因 导入的图片在Blender中只是一张图&#xff0c;并…

【Spring】Spring Web MVC基础入门~(含大量例子)

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 一&#xff1a;什么是Spring Web MVC 1&#xff1a;Servlet 2&#xff1a;总结 二&#xff1a;MVC …

使用 Python 调用云 API 实现批量共享自定义镜像

本文介绍如何通过 Python SDK 调用 API 接口&#xff0c;通过子用户批量共享云服务器自定义镜像。若您具备类似需求&#xff0c;或想了解如何使用 SDK&#xff0c;可参考本文进行操作。 前提条件 已创建子用户&#xff0c;并已具备云服务器及云 API 所有权限。 创建子用户请…

element-plus按需引入报错AutoImport is not a function

官网文档&#xff1a;快速开始 | Element Plus webpack配置 // webpack.config.js const AutoImport require(unplugin-auto-import/webpack) const Components require(unplugin-vue-components/webpack) const { ElementPlusResolver } require(unplugin-vue-components…

在 Vue 中实现与优化轮询技术

轮询&#xff08;Polling&#xff09;是一种计算机程序反复检查某个条件或状态的技术&#xff0c;通常用于在一定的时间间隔内不断请求信息或更新数据状态。轮询被广泛应用于前端开发&#xff08;例如实现页面实时更新&#xff09;、后端服务监控、网络设备状态检查等场景。 1…