本文将介绍如何用python中的tkinter库制作简易勒索弹窗病毒,本文分为两个部分分别是弹窗程序和勒索程序。
1.勒索程序
基础代码
1.作为弹窗程序首先要引入Tkinter图形化开发库
import tkinter as tk #引入tkinter库并将它改名为tk
import tkinter.messagebox #引入python中的对话框模块
import time #用于控制时间
import os #用于关闭程序
import random #随机模块
import threading #导入线程模块
2.使用tkinter库创建一个弹窗并设置弹窗参数
window = tk.Tk() #生成一个主窗口将它命名为windows
window.title("弹窗") #设置主窗口标题为弹窗
window.geometry("250x130+450+300") #设置弹窗大小和弹窗坐标
在第三行的字符串中前面两位为弹窗初始大小后面为弹窗初始坐标
上述代码为基础代码下面为功能代码
功能代码
3.
提示窗口
labpwd=tk.Label(window,text='密码:',width=80) #设置一个提示窗口
entpwd=tk.Entry(window,show='*',width=100,mi_ma=var_Pwd) #设置一个输入框
but_Ok=tk.Button(window,text='解除',command=login) #设置一个按钮
其中第二行将密码隐藏并var_Pwd与mi_ma相关联
功能函数
var_Pwd=tk.StringVar() #设置变量为StringVar对象
var_Pwd.set('') #清空变量
#按钮程序
def login():
password = var_Pwd.get() #获取密码
if password == '56789': #设置密码并比较与获取的密码是否相同
tk.messagebox.showinfo(title='弹窗',message='解除成功!') #密码正确提示窗口
time.sleep(1) #等待一秒
os._exit(0) #关闭窗口
else:
tan_chuang()
此代码在密码正确是会关闭,不正确时会执行弹窗程序
设计组件布局
labpwd.place(x=20,y=40,width=80,height=20) #提示框
entpwd.place(x=120,y=40,width=80,height=20) #输入框
but_Ok.place(x=30,y=80,width=200,height=30) #解除键
window.mainloop() #进入消息循环
数字分别代表的是x轴坐标,y轴坐标,宽度,高度
2.弹窗程序
弹窗程序
def tan_chuang():
color = ['Red', '#356F9F']
color1 = random.choices(color)
def dow():
window = tk.Tk()
width = window.winfo_screenwidth()
height = window.winfo_screenheight()
a = random.randrange(0, width)
b = random.randrange(0, height)
window.title('弹窗') # 弹窗的名字
window.geometry("200x150" + "+" + str(a) + "+" + str(b)) # 弹窗大小和坐标
tk.Label(window,
text='弹窗程序', # 标签的文字
bg=color1, # 背景颜色
font=('楷体', 17), # 字体和字体大小
width=15, height=10 # 标签长宽
).pack() # 固定窗口位置
window.mainloop()
threads = []
for shuliang in range(10): #弹框数量
t = threading.Thread(target=dow)
threads.append(t)
time.sleep(0.0000000000000000000001)
threads[shuliang].start()
所有代码整合:
import time #用于控制时间
import os #用于关闭程序
import random #导入随机数模块
import threading #导入线程模块
import tkinter as tk #引入tkinter库并将它改名为tk
import tkinter.messagebox #引入python中的对话框模块
window = tk.Tk() #生成一个主窗口将它命名为windows
window.title("弹窗") #设置主窗口标题为弹窗
window.geometry("250x130+450+300") #设置弹窗大小
var_Pwd=tk.StringVar() #设置变量为StringVar对象
var_Pwd.set('') #清空变量
#按钮程序
def login():
password = var_Pwd.get() #获取密码
if password == '56789': #设置密码并比较与获取的密码是否相同
tk.messagebox.showinfo(title='弹窗',message='解除成功!') #密码正确提示窗口
time.sleep(1) #等待一秒
os._exit(0) #关闭窗口
else:
tan_chuang()
def tan_chuang():
color = ['Red', '#356F9F']
color1 = random.choices(color)
def dow():
window = tk.Tk()
width = window.winfo_screenwidth()
height = window.winfo_screenheight()
a = random.randrange(0, width)
b = random.randrange(0, height)
window.title('弹窗') # 弹窗的名字
window.geometry("200x150" + "+" + str(a) + "+" + str(b)) # 弹窗大小和坐标
tk.Label(window,
text='弹窗程序', # 标签的文字
bg=color1, # 背景颜色
font=('楷体', 17), # 字体和字体大小
width=15, height=10 # 标签长宽
).pack() # 固定窗口位置
window.mainloop()
threads = []
for shuliang in range(10): #弹框数量
t = threading.Thread(target=dow)
threads.append(t)
time.sleep(0.0000000000000000000001)
threads[shuliang].start()
labpwd=tk.Label(window,text='密码:',width=80) #设置一个提示窗口
entpwd=tk.Entry(window,show='*',width=100,textvariable=var_Pwd) #设置一个输入框
but_Ok=tk.Button(window,text='解除',command=login)
labpwd.place(x=20,y=40,width=80,height=20) #提示框
entpwd.place(x=120,y=40,width=80,height=20) #输入框
but_Ok.place(x=30,y=80,width=200,height=30) #解除键
window.mainloop() #进入消息循环