Python-利用os,tkinter库编写一个伪恶意程序文件(Pro版)

前言:上一期我们简单学习了如何编写一个多次弹窗警告用户的exe伪恶意文件。我们知道了把Python初始文件编译为exe文件后,程序在没有Python环境的情况下也能正常运行。我们上次编写的程序仅仅只是伪造系统正在执行关机命令前的倒计时的假象,实际系统最后并不会执行关机命令。那么好,本次我们将学习如何让程序先进行倒计时警告用户系统即将关机,最后执行关机指令。

编程思路:本次编程我们是对上次程序的修改优化(即补充关机指令,优化弹窗显示)并补充上次所讲的需要扩展讲解的内容。因次编程思路与上次相比基本无异 -先从主题入手,tkinter,os库是主体;其次,多次的弹窗,我们需要多线程,因此threading库必不可少;为了伪造系统的随机性,我们需要random库;为了获取系统的真实信息及执行系统操作,我们需要os,platform两个库;为了表现程序真实性,我们需要time库......至此,所有库都准备好了-tkinter,random,time,os,platform,threading。 

import tkinter
import os
import threading
import time
import random
import platform
import ctypes

1,弹窗颜色修改,优化

上次我们为了编程方便,使用十种颜色:红,橙,黄,绿,蓝,紫,白,黑,金,灰)来给我们的弹窗上色。但是运行之后我们发现了两个需要改进的地方:一,弹窗颜色中有黑色,这导致程序运行后弹出的弹窗匹配到黑色时,窗口显示的内容会完全看不清楚,严重影响程序的整体运行效果;二,颜色种类过于单一,导致弹窗主体颜色重复率很高。因次本次编程中我们将解决这两个主要问题:一,删除列表s中的黑色;二,增加列表s中的颜色数量(扩充至15个)。(当然,以上只是我的个人感受,大家可自行调整,挑选自己喜欢的颜色)。(如下所示)

s=['red','orange','yellow','green','blue','teal','purple','peru','gold','violet','salmon','navy','tan','maroon','azure']

2,主窗口优化

上次我们利用while函数对倒计时迭代器的返回内容进行一对一匹配(即不让弹窗颜色始终保持原状)。但是后面我们发现程序运行后while循环的效果与删除后无异,秉持代码追求更简洁,更高效的原则,我们删除了while循环(wihle循环影响程序运行速度)。(如下所示)

def windows():window = tkinter.Tk()window.title('{} {} {} {}警告!!!'.format(os.name,platform.machine(),platform.node(),platform.version()))window.geometry("{}x{}".format(1160,600))number=random.randint(0,14)tkinter.Label(window,text='{}系统将在{}秒后自动关机'.format(platform.system(),count_down()[0])*1,font=('楷体',30),bg='{}'.format(s[number]),width=1160,height=600).pack()window.mainloop()count_down().remove(count_down()[0])

3,添加关机执行单元

在 Python 中,可以使用 os 模块中的 os.system() 函数来执行系统命令。因此,可以使用如下命令执行关机:

os.system('shutdown -s -t 0')

但是注意:这个命令执行的并不是强制关机。因此当系统关机前还有正在运行的程序时,在最后关机时系统会提示用户是否确认关机,此时用户有撤销关机的权利。因此,如果你觉得你需要程序执行强制关机来整蛊室友,可以将以上命令修改为以下命令:

os.system('shutdown -f -s -t 0')

注意:这种方法只能在 Windows 系统中使用,在其他操作系统中可能不能正常工作。需要注意的是,强制关机会导致程序强行终止,可能会导致未保存的数据丢失,因此应谨慎使用,别让室友把你打成猪头。

程序衔接(如下所示)

time.sleep(1)
os.system('shutdown -f -s -t 0')

4,完整代码展示:

import tkinter
import os
import threading
import time
import random
import platform
import ctypess=['red','orange','yellow','green','blue','teal','purple','peru','gold','violet','salmon','navy','tan','maroon','azure']begin=12
def count_down():seconds=[]for i in range(begin,0,-1):seconds.append(i)return secondsdef windows():window = tkinter.Tk()window.title('{} {} {} {}警告!!!'.format(os.name,platform.machine(),platform.node(),platform.version()))window.geometry("{}x{}".format(1160,600))number=random.randint(0,14)tkinter.Label(window,text='{}系统将在{}秒后自动关机'.format(platform.system(),count_down()[0])*1,font=('楷体',30),bg='{}'.format(s[number]),width=1160,height=600).pack()window.mainloop()count_down().remove(count_down()[0])while begin>0:mark=threading.Thread(target=windows)mark.start()time.sleep(1)begin-=1time.sleep(1)
os.system('shutdown -f -s -t 0')

5,运行效果展示:

后面将Python初始文件编译为exe文件的步骤我就不再赘述了,新手小白可以看一下我的上一篇文章,谢谢!

拓展延伸:

一,什么是Python第三方库?

Python第三方库是除Python官方提供的标准库之外,由第三方公司、社区或个人开发并发布的库。

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

Python标准库和第三方库是Python编程中常用的两种不同类型的库,它们在安装方式、来源、可靠性和功能等方面存在一些区别。

三,Pyinstaller的常用命令有哪些?

-h, --help    显示帮助信息并退出
-v, --version    显示程序版本信息并退出
-F, --onefile    生成单个可执行文件(默认为多文件捆绑包)
-D, --onedir    生成一个包含多个文件的目录作为可执行程序
-a, --ascii    不包含 Unicode 字符集支持
-d, --debug    产生 debug 版本的可执行文件
-w, --windowed, --noconsolc    指定程序运行时不显示命令行窗口(仅对 Windows 有效)
-c, --nowindowed, --console    指定使用命令行窗口运行程序(仅对 Windows 有效)
-o DIR, --out=DIR    指定 spec 文件的生成目录
-p DIR, --path=DIR    设置 Python 导入模块的路径
-n NAME, --name=NAME    指定项目(产生的 spec)名字
-i ICON, --icon=ICON    为 Windows 可执行文件指定图标
-add-data SOURCE:DEST    添加非 Python 文件或目录到打包文件中
-add-binary SOURCE:DEST    添加其他二进制文件到可执行文件中
-p DIR, --paths DIR    搜索导入的路径(如使用 PYTHONPATH)
-h, --help    显示帮助信息并退出
-v, --version    显示程序版本信息并退出
-F, --onefile    生成单个可执行文件(默认为多文件捆绑包)
-D, --onedir    生成一个包含多个文件的目录作为可执行程序
-a, --ascii    不包含 Unicode 字符集支持
-d, --debug    产生 debug 版本的可执行文件
-w, --windowed, --noconsolc    指定程序运行时不显示命令行窗口(仅对 Windows 有效)
-c, --nowindowed, --console    指定使用命令行窗口运行程序(仅对 Windows 有效)
-o DIR, --out=DIR    指定 spec 文件的生成目录
-p DIR, --path=DIR    设置 Python 导入模块的路径
-n NAME, --name=NAME    指定项目(产生的 spec)名字
-i ICON, --icon=ICON    为 Windows 可执行文件指定图标
-add-data SOURCE:DEST    添加非 Python 文件或目录到打包文件中
-add-binary SOURCE:DEST    添加其他二进制文件到可文件中

 

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

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

低压线路保护器在生产型企业配电系统中的应用

摘要 随着现代电力系统的发展,配电系统的可靠性和安全性要求日益提高。低压线路保护器在其中扮演着关键角色。本文将探讨低压线路保护器的工作原理及其在现代配电系统中的作用,重点介绍ALP系列低压线路保护器的功能与应用。 引言 低压线路保护器用于保…

像狗一样的男人 --- 社保 篇

如果你不想像狗一样的活着,请抛弃幻想,保持学习 一些概念城镇职工社会保险(五险一金)城居保(新农合) 一些概念 社保有两个系统: 城镇职工社会保险 也就是 五险一金。新农合 14年新农合改名叫城…

腾讯云轻量应用服务器最佳实践

引言 轻量应用服务器是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的使用,相比普通云服务器更加简单易用且更贴近应用,提供极简上云体验。那么如何正确地购买、配置、管理轻量应用服务器,以确…

python练习-袭击敌机

$ python -m pip install --user pygame1、画游戏框 class Settings:def __init__(self):self.screen_width 1200self.screen_height 800self.bg_color (230, 230, 230)import sys import pygame from settings import Settingsclass AlienInvasion:def __init__(self):pyg…

windows server2019下载docker拉取redis等镜像并运行项目

一、基本概念 1、windows server 指由微软公司开发的“Windows”系列中的“服务器”版本。这意味着它是基于Windows操作系统的,但专门设计用于服务器环境,而不是普通的桌面或个人用户使用。主要用途包括服务器功能、用户和资源管理、虚拟化等 2、dock…

软件设计师中级 第9章 数据库技术基础

9.1 基本概念 9.1.1 数据库的三级模式结构 数据库系统有三级模式结构,一个数据库可以由多个外模式,只能有一个内模式。 视图对应外模式、基本表对应模式(概念模式)、存储文件对应内模式。 外模式 也称子模式(Subsch…

1.python介绍、安装

python可以做什么? 1.自动化脚本(运维开发、测试开发等) 2.自动化办公 3.web应用程序 4.基于python完成数据计算(生物、化学、物理) 5.基于python开发AI程序 6.完成大数据开发Spark、Flink 想要与计算机交流&am…

一文学会easyexcel导入数据,多sheet页、字典转换【附带源码】

文章目录 前言一、业务流程二、实现1、引入easyexcel、fastjson、lombok包2、创建Json工具类3、创建自定义字典转换注解4、创建字典转换实现类5、创建数据对象类6、创建多sheet页封装对象7、创建Excel导入工具类8、创建测试类 三、接口测试1、启用项目2、使用数据导出的文件&am…

大模型微调技术 --> IA3

IA3 1.摘要 我们引入了一种名为 ( I A ) 3 (IA)^3 (IA)3 (通过抑制和放大内部激活的注入适配器, Infused Adapter by Inhibiting and Amplifying Inner Activations)的新的PEFT方法,该方法通过学习向量缩放激活,在只引入相对少量的新参数的情况下获得更…

Liunx:进程控制

进程终止 三种场景,进程结束结果正确,进程结束不正确,异常终止。 进程的退出码,也就是return,表征着进程运行结果是否正常,return 返回值被父进程接收。return 0表示进程运行结束并且结果正确。他是给用户的…

C++builder中的人工智能(12):了解ELU(Exponential Linear Unit)——人工神经网络中的激活函数

在这篇文章中,我们将解释什么是指数线性单元(ELU),以及如何利用ELU激活函数。通过学习这些知识,你将能够使用C软件创建C应用程序。 我们需要了解哪些关于激活函数的知识? 激活函数(phi()&#…

从0开始学习机器学习--Day19--学习曲线

一般来说,如果一个算法的表现不理想,那么多半是因为出现了欠拟合或过拟合问题,这种时候我们要做的就是搞清楚出现的是偏差问题还是方差问题,亦或是二者皆有,这有助于我们精准定位问题所在。 之前,我们发现…

豆包大模型团队开源RLHF框架,破解强化学习训练部署难题

1. 引言 1.1 强化学习 强化学习(Reinforcement Learning, RL)是与监督学习和无监督学习并列的一种机器学习方法,其用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题…

练习LabVIEW第四十三题

学习目标: 模拟红绿灯,红灯亮十秒,绿灯亮五秒,交替,并用波形图将波形显示 开始编写: 前面板 两个指示灯,一个红色,一个绿色,一个波形图; 程序框图 创建…

css:基础

前言 我们之前其实也可以写出一个看起来算是一个网页的网页,为什么我们还要学css? CSS(Cascading Style Sheets)也叫层叠样式表,是负责美化的,我们之前说html就是一个骨架,css就可以用来美化网…

解析 “Cookies Not Marked as HttpOnly” 漏洞

一、引言 在 Web 应用安全领域,Cookies 相关的漏洞一直是备受关注的问题。其中,“Cookies Not Marked as HttpOnly” 漏洞可能会对用户数据安全和网站的正常运行造成潜在威胁。本文将详细介绍这个漏洞,包括其原理、影响、检测方法以及修复措…

基于MATLAB DCT域图像水印技术

1数字水印技术的概念和特点 数字水印(Digital Watermark)技术是将与多媒体内容相关或不相关的一些标示信息直接嵌入多媒体内容当中,但不影响原内容的使用价值,并不容易被人的知觉系统觉察或注意到。通过这些隐藏在多媒体内容中的…

【语义分割|代码解析】CMTFNet-2: CNN and Multiscale Transformer Fusion Network 用于遥感图像分割!

【语义分割|代码解析】CMTFNet-2: CNN and Multiscale Transformer Fusion Network 用于遥感图像分割! 【语义分割|代码解析】CMTFNet-2: CNN and Multiscale Transformer Fusion Network 用于遥感图像分割! 文章目录 【语义分割|代码解析】CMTFNet-2: …

在暗处执着生长,终有一日馥郁传香

总有人说很孤独,一个人吃饭,一个人上班,一个人逛街; 总有人又说享受孤独,面对时间,迎接苦难,战胜痛苦; 可没人说这些的大前提是你要有信念支撑啊,如果干完了上面的所有&a…

揭秘集装箱箱号自动识别原理,箱号识别算法

集装箱箱号自动识别算法是一种高效且实用的软件工具。它利用相机、手机或其他摄像头捕获集装箱箱号图像,并通过深度学习的OCR(光学字符识别)识别技术对集装箱号码进行准确识别。要想进行集装箱箱号识别,需要以下几个基本步骤&…