闲的没事,就想写一个QQ轰炸机,按照我最初的想法,这程序要根据我输入的QQ号进行轰炸,网上搜了一下,发现网上的案列略复杂,就想着自己写一个算了。。

思路:所谓轰炸机,就是给某个人发很多信息,一直刷屏,那我只需要实现两个基本的要求就行了

  1、程序能在消息输入框自动输入信息

  2、程序能自动把信息发送过去

按照这个思路,我查到python的pynput库能控制鼠标和键盘,并且发现qq打开一个聊天弹窗,键盘的输入就是将要发送的信息,那接下来问题就好解决了

首先写一个函数,函数功能是控制键盘输入你想要的信息,代码如下:

def keyboard_input(string):
    '''
    :param string: 你想要发送的信息
    :return: None
    '''
    from pynput.keyboard import Key,Controller
    #导入相应的库
    keyboard = Controller() #开始控制键盘
    keyboard.type(string) #键盘输入string
    return None

其次,用另一个函数实现发送功能,代码如下:

def mouse_click():#点击发送消息
    from pynput.mouse import Button,Controller
    #导入相应的库
    mouse = Controller() #开始控制鼠标
    mouse.press(Button.left)  # 按住鼠标左键
    mouse.release(Button.left)  # 放开鼠标左键
    return None

注意,我这样没有设置鼠标的位置,这就需要你把鼠标停放在发送按钮上

最后,用一个函数来控制发送多少条在信息,代码如下:

def main(number,string):#参数分别表示你要发多少条信息和发送的内容
    import time #导入time
    time.sleep(5) # 此时暂停5s,方便你打开聊天窗,并把鼠标停放在发送按钮上
    for i in range(number):#用循环来控制你发送多少条消息
        keyboard_input(string)
        mouse_click()

现在,你只需要运行这个函数,然后你有5s的时间打开聊天框,把鼠标停放在发送按钮上,就实现了qq消息轰炸,虽然很弱智,很简单,但是功能还是实现了的

效果图如下:

完整代码:

def keyboard_input(string):
    '''
    :param string: 你想要发送的信息
    :return: None
    '''
    from pynput.keyboard import Key,Controller
    #导入相应的库
    keyboard = Controller() #开始控制键盘
    keyboard.type(string) #键盘输入string
    return None

def mouse_click():#点击发送消息
    from pynput.mouse import Button,Controller
    #导入相应的库
    mouse = Controller() #开始控制鼠标
    mouse.press(Button.left)  # 按住鼠标左键
    mouse.release(Button.left)  # 放开鼠标左键
    return None

def main(number,string):#参数分别表示你要发多少条信息和发送的内容
    import time #导入time
    time.sleep(5) # 此时暂停5s,方便你打开聊天窗,并把鼠标停放在发送按钮上
    for i in range(number):#用循环来控制你发送多少条消息
        keyboard_input(string)
        mouse_click()
        time.sleep(0.2)

if __name__ == '__main__':
    main(20,"我太牛逼了")

总结:虽然代码才20多行,但是基本功能还是实现了的,但是也可以改进一下,比如:发送消息看上去很枯燥,你可以写一个消息列表,每次循环随机选取一个消息发送;还可以设置延时,可以设置多久时间发送多少条消息。当你把一些附加小功能完善后,你还可以把你写的这个程序打包起来,形成一个exe文件,发送给你的朋友,即使他电脑上没有python解释器,也可以运行,具体的打包过程我就不写了,自行百度。

用python写一个非常简单的QQ轰炸机的更多相关文章

  1. 用Python写一个简单的Web框架

    一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...

  2. 用qpython3写一个最简单的发送短信的程序

    到目前为止并没有多少手机应用是用python开发的,不过qpython可以作为一个不错的玩具推荐给大家来玩. 写一个最简单的发送短信的程序,代码如下: #-*-coding:utf8;-*- #qpy ...

  3. Python写一个自动点餐程序

    Python写一个自动点餐程序 为什么要写这个 公司现在用meican作为点餐渠道,每天规定的时间是早7:00-9:40点餐,有时候我经常容易忘记,或者是在地铁/公交上没办法点餐,所以总是没饭吃,只有 ...

  4. 【spring】-- 手写一个最简单的IOC框架

    1.什么是springIOC IOC就是把每一个bean(实体类)与bean(实体了)之间的关系交给第三方容器进行管理. 如果我们手写一个最最简单的IOC,最终效果是怎样呢? xml配置: <b ...

  5. 十行代码--用python写一个USB病毒 (知乎 DeepWeaver)

    昨天在上厕所的时候突发奇想,当你把usb插进去的时候,能不能自动执行usb上的程序.查了一下,发现只有windows上可以,具体的大家也可以搜索(搜索关键词usb autorun)到.但是,如果我想, ...

  6. [py]python写一个通讯录step by step V3.0

    python写一个通讯录step by step V3.0 参考: http://blog.51cto.com/lovelace/1631831 更新功能: 数据库进行数据存入和读取操作 字典配合函数 ...

  7. 【Python】如何基于Python写一个TCP反向连接后门

    首发安全客 如何基于Python写一个TCP反向连接后门 https://www.anquanke.com/post/id/92401 0x0 介绍 在Linux系统做未授权测试,我们须准备一个安全的 ...

  8. 用python写一个自动化盲注脚本

    前言 当我们进行SQL注入攻击时,当发现无法进行union注入或者报错等注入,那么,就需要考虑盲注了,当我们进行盲注时,需要通过页面的反馈(布尔盲注)或者相应时间(时间盲注),来一个字符一个字符的进行 ...

  9. python写一个能变身电光耗子的贪吃蛇

    python写一个不同的贪吃蛇 写这篇文章是因为最近课太多,没有精力去挖洞,记录一下学习中的收获,python那么好玩就写一个大一没有完成的贪吃蛇(主要还是跟课程有关o(╥﹏╥)o,课太多好烦) 第一 ...

随机推荐

  1. centos配置epel和remi源

    来源:https://blog.csdn.net/zhang197093/article/details/52057898 CentOS 内置的yum命令安装非常的简单实用,能自动帮助我们解决依赖,但 ...

  2. 不同IDE对maven项目静态资源处理

    今天自己构建maven管理的web项目,参照另一位兄弟的代码,发现他的静态资源,也就是html.js之类的文件是在src/main/resource目录下的,我的在src/main/resource目 ...

  3. mysql命令行的导入导出sql,txt,excel(都在linux或windows命令行操作)(转自筑梦悠然)

    原文链接https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/73805962 Mysql导入导出sql,txt,excel 首先我们通过命令行 ...

  4. Python爬虫之selenium各种注意报错

    刚刚写完第一个selenuim+BeautifulSoup实战爬虫 爬淘宝.发现代码写完后不加for 翻页的时候没什么问题 解析 操作 都没问题 也就是说第一页 的内容 完好 pagebtn=wait ...

  5. EASY-X

    ----------------------- Page 1----------------------- 一 创建新项目 VC 写程序要有项目的概念,一个项目可以有多个 .cpp 文件,多个项目构 ...

  6. DC综合简单总结(1)

     DC综合简单总结(1)  *****************set_dont_touch和set_dont_touch_network**************** ? 在综合的过程中,为了不让D ...

  7. 我们来说说self.setinterval

    学了js的你,肯定知道setInterval方法是按照指定的周期(以毫秒计)来调用函数或计算表达,setInterval方法会不停地调用函数,直到clearInterval被调用或窗口被关闭,这个se ...

  8. 安装spring tool suite时遇到的问题

    首先在Eclipse的市场里没有找到,在官网下载安装包后不能安装,于是找了解决办法,跟安装suite的版本还有关系. 我下的是http://download.springsource.com/rele ...

  9. mysql性能优化分析 --- 上篇

    概要 之前看过<高性能mysql>对mysql数据库有了系统化的理解,虽然没能达到精通,但有了概念,遇到问题时会有逻辑条理的分析; 问题 问题:公司xxx页面调用某个接口时,loading ...

  10. Arrays类的运用,二分法,数组的复制,命令行参数的运用,二维数组,Object,equals

    /*Arrays jdk中为了便于开发,给开发者提供了Arrays类, 其中包含了很多数组的常用操作.例如快速输出.排序.查找等.*/ import java.util.Arrays; public ...