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

Python-利用Pyinstaller,os库编写一个无限弹窗整蛊文件(上)

前言:本篇文章我们将学习一下如何利用你室友的这个习惯整蛊一下Ta,同时更重要的是借此提醒Ta要注意要做好个人信息的防泄露措施......(声明:本次教学无任何不良引导)

编程思路:本次编程中无限弹窗的实现我们需要调用Python中的标准库os库,后面将Python初始文件编译为exe文件需要调用Python中的第三方库Pyinstaller,最后我们再给exe文件更换图标时同样需要调用Pyinstaller......在整个编程过程中,我们还会学习如何新建矢量图图片(图片格式为".ico"或".icon"的图片),以及给exe文件更换图标的其它方法)

import os

一,无限弹窗的实现

无限弹窗即系统不断地新建窗口,因此本次编程中我们将调用os库中的system属性来实现这个效果(os是Python中的一个进程管理库,它允许启动系统中的其他程序,如使用os.system()函数执行shell命令。)。"start cmd"是system属性中的一个方法,它将打开cmd命令窗口。(如下所示)

while True:
    os.system('start cmd')

这段代码虽然很简短,但是功能强大,它是本次程序实现无限弹窗的主体。

二,完整代码展示

import os

while True:
    os.system('start cmd')
    

三,准备美图

首先我们需要准备一张或多张美图(可以在任何地方找到)。后面我们会发现这些图片绝大多数为".jpg"或".png"格式,这并不是我们所想要的(当然,如果你找到了".ico"或".icon"格式的图片,那么就可以直接用了),因此我们接下来需要做的就是将".jpg"或".png"格式的图片转换为".ico"或".icon"格式的图片。(这里我先介绍一种最简单,最实用,同时也是我亲测有效的方法)

我们准备好了图片,接着我们查看一下图片的格式。发现其为".jpg"格式(IMG_20241021_121741.png),因此我们需要将其转换为".ico"或".icon"的格式。

 

 

四,将美图转换为所需的".ico"或".icon"格式

我们先点击电脑左下方"开始"。

接着在上方的搜索框中输入"画图"。

这时候我们会发现搜索框下方会出现多个搜索结果,我们找到颜料盘一样外观的应用"画图",点击打开。

接着我们在进入"画图"后,点击"文件"->"打开"(如下所示)

305c3a4c99f64a419c663dc8c58102dc.png

找到我们之前美图文件的存放位置,选中图片->"打开"。

接着我们就可以按照我们的审美标准对图片进行包括裁剪,擦除,修边等操作了(这个内容太多,我就不再展开了,请大家自行操作)。

编辑好图片后,我们点击"文件"->"另存为"->"其它格式"。

然后我们在文件名之后添加".ico",接着点击保存(不用管下方的"保存类型")。

然后我们返回之前美图文件的存放位置,发现多了一个新图片。

我们点击查看新多出来的图片的格式,发现其为"ico"格式(图片类型:ICO),这就说明我们的图片格式转换成功了。

 

五,将初始文件编译为exe文件并更换图标

Pyinstaller库的准备工作就不再作过多讲解了,新手小白可以看我的前两篇文章,里面有详细步骤。

我们将转换为".ico"格式的图片复制后放到Pycharm中Python项目1(pythonProject1)下(如下所示)。

547bcfce95814baea10f9cced0030dca.png

接着打开Pycharm终端,输入"pyinstaller -F -w -i xxx.ico xxx.py"(我的xxx.ico为IMG_20241021_121741.ico,xxx.py为cmd.py)。(如下所示)(注意:是"-F -w -i")

11cec700a44b4a7db7587696bc7f062b.png

回车等待一段时间,当看到命令执行结果为"......completed successfully"时,代表程序已经打包为exe文件,且文件图标已换为".ico"格式的样式。(如下所示)

f5d5984dfb68434f8f1ce1e97c8878b1.png

我们返回Pycharm主界面,发现pythonProject1下面多了一个文件夹dist,我们点开,发现里面有一个exe文件。(如下所示)

7aa7551c40cc44719a8e68b09067d192.png

接着我们将该exe文件复制后放到系统文件下,发现文件的图标已经变为我们转换格式得到的"IMG_20241021_121741.ico"图片了。(如下所示)

2c54a04cdb5241639d55bc7c9f4c1041.png

我们接着将其重命名为"xx视频"之类的。(如下所示)

8ff699e044b74ab58979c68774616537.png

我们尝试一下将这个文件转发给其他人,看看效果如何。(如下所示)

e513dcaf90444ddf996bcfb7fd2f746d.jpeg

OK,效果非常好,非常具有迷惑性,哈哈哈!!!

我们来看一下运行效果,嘿嘿嘿

(如下所示)

554aeaa07d784f198b0432d7408e8955.jpeg

运行之后电脑风扇直接起飞,CPU负载过大,系统卡顿严重......

将这个文件发给你们宿舍里常常喜欢一个人偷偷观看"学习资料"的室友,绝对会让Ta破大防,同时也能让Ta以后警惕隐藏在其中的恶意程序,加强个人信息及财产的防护。

(解决办法:关机或打开任务管理器终止程序)

后面我会对本篇文章中的相关内容进行拓展讲解

感谢你的交流指教,我是闪云-微星,我们下期不见不散!

 

 

 

 

 

 

 

 

 

 

 

 

 

 


http://www.kler.cn/a/386381.html

相关文章:

  • 【力扣热题100】[Java版] 刷题笔记-169. 多数元素
  • 云运维基础
  • 前端神经网络入门(三):深度学习与机器学习的关系、区别及核心理论支撑 - 以Brain.js示例
  • Flutter Getx状态管理
  • [代码随想录Day10打卡] 理论基础 232.用栈实现队列 225. 用队列实现栈 20. 有效的括号 1047. 删除字符串中的所有相邻重复项
  • DOM 规范 — MutationObserver 接口
  • 家庭财务管理系统|基于java和小程序的家庭财务管理系统设计与实现(源码+数据库+文档)
  • 华为eNSP:AAA认证(pap和chap)telnet/ssh
  • 乐尚代驾十订单支付seata、rabbitmq异步消息、redisson延迟队列
  • docker网络配置:bridge模式、host模式、container模式、none模式
  • 设计模式-七个基本原则之一-接口隔离原则 + SpringBoot案例
  • 苍穹外卖的分层所用到的技术以及工具+jwt令牌流程图(jwt验证)
  • java八股第一天
  • 斑马打印机如何与工业系统(如MES、ERP、数据库等)自动化通讯?
  • 计算机网络八股文个人总结
  • 友思特应用 | 动态捕捉:高光谱相机用于移动产线上的食品检测
  • Vosk 进行中文语音识别实例
  • Java基SpringBoot+Vue的高校院系学生信息管理系统(附源码,文档)
  • //二维数组的遍历方式
  • 分布式数据库中间件mycat
  • DIP switch是什么?
  • pdb和gdb的双剑合璧,在python中调试c代码
  • [Meachines] [Medium] MonitorsThree SQLI+Cacti-CMS-RCE+Duplicati权限提升
  • 【ESP32+MicroPython】硬件控制基础
  • Python毕业设计-基于 Python flask 的前程无忧招聘可视化系统,Python大数据招聘爬虫可视化分析
  • Flink处理无界数据流