信息炸弹——Message Boom
前言
好的今天我们来讨论一下什么叫信息炸弹。
可能之前看过我文章的小伙伴们在想,这种听名字就具有攻击性的东西为什么不把它放到黑客七宗罪专栏里?
毕竟这只是个脚本,对于个人账号的攻击性确实强,聊天记录也会占用硬盘。但是!:它的传播性以及破坏性并不高——它并不能像各种病毒一样具有很强的传染力和损坏力。
大家也可以把这种东西称为“搞怪脚本”。
呐,什么是信息炸弹呢?
顾名思义:就是通过大量或无限次数的发送消息来折磨人的像炸弹一样的东西。
就比如,一个人给你大量或无限发消息,你烦不烦?
肯定烦,即使你开了免打扰,它发来的消息也会占用硬盘存储空间!
早在20年前,邮箱盛行,就有人做出来“邮箱炸弹”。
然后OICQ(QQ)也被大量用户使用,也就有了“QQ消息炸弹”。
而在微信推出的时候也有人做出了“WeChat消息炸弹”。
不过那些都是违法的,虽然网络安全法确实有些管不着,但是不代表别的法规不管——这也造成了违法骚扰情节,也是很严重的。
但在这里,我还是要给大家科普一下信息炸弹的谜题。
一、哪些人会用信息炸弹?
其实还是双刃剑原则——信息炸弹最原本并不是用来搞怪,而是怕对方接收不到重要信息而设计出来的定时发送。
比如,你在XXX软件实名认证,而这个软件的服务器悉知你的生日,每年就会定时给你发送生日快乐祝福。
那,如果同一天很多人都过生日,人工发送肯定很累,有没有什么办法让服务器自动发送?
然后一群人设计出来定时发送消息的东西,发送条件是当天日期对应身份证第7位到第14位的数字。
那么服务器也不是傻子,它会根据规定定时发送生日快乐祝福。
诸如此类,现在很多服务器都在用这种方法来定时发送消息——会员到期,活动公告,一些购物软件等等……
但是总有那么一些人心思不纯。
他们用这种方法定时,并把最开始的定时发送中时间的具体性统一改为间隔性,然后进行面向个体的骚扰。
二、时间设定的具体性和间隔性?
那么,什么是具体性和间隔性?
比如,某游戏规定XX月XX日要上新新活动,为了玩家能及时得到消息,就设定了当天发送定时消息。这个时间是准确的,我们称其为具体性。
而有一些人,为了“重要的事情说N遍”,就干脆每隔XX小时、XX分钟、XX秒甚至XX毫秒发一次消息。这个时间是以间隔为衡量单位的,我们称其为间隔性。
对于信息炸弹来讲,时间一个一个设置,想想都很麻烦。那让它间隔发送是不是就会轻松很多?
三、制作信息炸弹的困难
呐,原理都懂了,接下来就剖析一下信息炸弹的门槛~
首先第一点:信息炸弹做出来了,用在哪里呢?
肯定是用在各大平台啊,比如OICQ,WeChat,Facebook……
但是人家也不是没想过这个问题:一旦信息炸弹在这些平台上用叨扰了用户,那么用户烦的要死,还会着重于这些平台嘛?
然后这些平台的维护怎么办?口碑怎么办?
因此,你觉得它们不会防着你?
就拿WeChat举例:
现在WeChat网页版登录可是很难的,甚至说很多用户并不能登上去,这样的话就大大减少了骚扰效应。
而要在电脑上很方便地运行WeChat消息炸弹,只能通过登录网页版,但是网页版你进都进不去,更别想在这个平台上惹是生非。
其次是第二点:就算你在某平台用上了信息炸弹,被封号怎么办?
别和我说小号的事情,创立过多的小号你连记都记不住,而且有的平台会限制创建账号的数量,况且就算是小号也会被封掉,更何况如今它们都有实名认证,不怕被封杀可以试试,反正试试就逝世……
最后第三点:当你凝望深渊,深渊也会凝望你……
这句话说白了,就算第一、二点的难题都攻克了,你在使用信息炸弹的时候也会占用你的机器内存,也是会消耗功耗的。小型消息不说,如果是大型的消息也就麻烦了,更何况发出那么多消息,光是进程你也吃不消了。
第一点,可以用另辟蹊径的算法帮助你克服。
第二点,没法避免,除非你很幸运。
第三点,如果你有钱去搞一台非常厉害的设备,或者会控制进程产生规律,那么这点你也可以克服。
四、方便且便于理解的信息炸弹
在这里,我可以给大家提供一个信息炸弹的思路,来尽力保证跨过门槛的情况下制作出信息炸弹。
第一点门槛,常理来讲信息炸弹需要利用平台的服务器。但是如果我们不利用服务器,而是直接用自己的主机和网络呢?
就比如我开启信息炸弹,然后模拟本人的操作去发送消息?
第二点门槛,不建议去骚扰其他人,可以小号互发或者用文件传输助手,我所说的这些只供学习和参考,不允许拿去做坏事!!!
第三点门槛,没有条件创造条件也要上!用最低的成本得到最好的结果,我会控制进程产生的速度,防止内存大量被占用。
好的,那么我们就开始实践吧~
首先,你需要准备一些东西。
五、实践前置
众所周知,我还是惯用那只老蛇,所以……
Python2:嘶~嘶~(开熏~~~)
(Python3凑了过来)
Python3:嘶嘶嘶嘶嘶!(有事不叫我?你这只老蛇!!!)
(Python2与Python3打了起来……)
(最后Python2投降~~~)
Python3:嘶~嘶~(嘻嘻嘻~~~)
Python2:嘶……(呜~)
它俩一打难受的是我QAQ
所以这次,还是选择用Python3叭……~(不然再打起来就拆家了QAQ)
一、Python3:小鲜肉蟒蛇~
Python3的语法比Python2规范了许多,避免了很多歧义语句,但是虽说向下兼容,Python2的功能在3当中缺失了一部分(选择Python版本的时候功能优先!!!)
二、你需要的模块包:
1.os:系统模块包,专门针对系统中的函数进行调用
2.time:名正言顺的时间管理大师,在这里我们会利用它来控制进程的时间,避免出现内存大量被占用
3.pynput:python当中控制输入设备的绝佳管理者,可以模拟键盘输入、鼠标点击等
六、实践开始!
import os
import timefrom pynput.keyboard import Controller as key_col
from pynput.mouse import Button, Controllerdef keyboard_input(string): #键盘输入函数keyboard = key_col()keyboard.type(string)def mouse_click(): #鼠标点击函数mouse = Controller()mouse.press(Button.left)mouse.release(Button.left)def main(number, string): #自定义的主要函数print('开始消息轰炸')time.sleep(5) # 等待5秒#上面这行是为了给使用者充足的时间来点击聊天窗口的发送栏以及将鼠标放在“发送”按钮上for i in range(number):keyboard_input(string + str(i))mouse_click()time.sleep(0.3) # 等待0.3秒,控制进程频率,防止内存被大量占用print('消息轰炸结束')if __name__ == '__main__':main(99, '你无了')print("\n")input("Press the ENTER to end……")print("\n")os.system("pause")
后序
这篇文章只供参考和学习,如果拿了这个东西干了什么坏事的话……违法我不追究,毕竟该审判你的不是我,是法律哦!!!~
——Redice(Yatogami)
信息炸弹——Message Boom相关推荐
- JavaWeb第九次:程序设计题:在MySQL,创建一个学生信息数据库Student,创建一张学生注册信息表message,包含name (姓名)、age (年龄)、sex (性别)、educ
程序设计题: 在MySQL,创建一个学生信息数据库Student,创建一张学生注册信息表message,包含name (姓名).age (年龄).sex (性别).education(学历).phon ...
- Unity案例学习中关于炸弹(Boom)爆炸的一些需求实现
需求:1.炸弹经过一段时间,产生爆炸,并且对周围物体有一个爆炸力,推开其他物体 2.一个敌人会把炸弹吹灭,放置在其旁边的炸弹爆炸,会把已经吹灭的炸弹重新点燃 解决方法: 1."经过一段时间& ...
- 聊聊Spring Boot服务监控,健康检查,线程信息,JVM堆信息,指标收集,运行情况监控等!...
来自:https://juejin.im/post/5e2179def265da3e152d2561 前言 去年我们项目做了微服务1.0的架构转型,但是服务监控这块却没有跟上.这不,最近我就被分配了要 ...
- Spring Boot 服务监控,健康检查,线程信息,JVM堆信息,指标收集,运行情况监控...
作者:Richard_Yi 来源:http://39sd.cn/B2A0B 去年我们项目做了微服务1.0的架构转型,但是服务监控这块却没有跟上.这不,最近我就被分配了要将我们核心的微服务应用全部监控起 ...
- springboot actuator_Spring Boot 服务监控,健康检查,线程信息,JVM堆信息,指标收集,运行情况监控...
作者:Richard_Yi来源:http://39sd.cn/B2A0B 去年我们项目做了微服务1.0的架构转型,但是服务监控这块却没有跟上.这不,最近我就被分配了要将我们核心的微服务应用全部监控起来 ...
- ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB
在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志.错误日志,可以让我们对于系统的运行情况做到很好的掌控.同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量的数据,通 ...
- iPhone开发过程中调试多次Release问题 message sent to deallocated
初级:第一步 为程序添加符号断点 malloc_error_break 方法如下. 目标效果:让程序崩溃时跳转到出错到那一行.但是往往达不到这个效果.不行就继续往下看. At times, wh ...
- Linux下查看系统版本号信息的方法
From:https://linux.cn/article-9586-1.html 如果你加入了一家新公司,要为开发团队安装所需的软件并重启服务,这个时候首先要弄清楚它们运行在什么发行版以及哪个版本的 ...
- 一文了解 Spring Boot 服务监控,健康检查,线程信息,JVM堆信息,指标收集,运行情况监控!...
作者 | Richard_Yi 责编 | 徐威龙 稿源 | 掘金 封图| CSDN 下载于视觉中国 本文为作者个人经验,供大家参考. 去年我们项目做了微服务1.0的架构转型,但是服务监控这块却没有跟上 ...
- 在Global中Application_Error事件处理错误信息
在Global中 protected void Application_Error(Object sender, EventArgs e) { Exception objErr = Ser ...
最新文章
- 在VM上安装centOS后的网络配置
- 每天一道LeetCode-----计算字符串s中有多少个子序列和字符串t相等
- BZOJ 1188: [HNOI2007]分裂游戏(multi-nim)
- 02.德国博士练习_01_cluster_install
- 每日站立会议 12.06
- 先天性异常或智力残疾儿童患者的外显子组和基因组测序:美国医学遗传学与基因组学学院循证临床指南...
- 解决 transaction-manager Attribute transaction-manager is not allowed here
- 如何把一个整数转化成数组_「leetcode891」给定一个整数数组 A,考虑 A 的所有非空子序列...
- 赵娜计算机,新学期 新起点 新征程——计算机学院2016级召开系列年级工作会议...
- 代码管理工具svn个git的简单操作
- [翻译]超炫列表动画的实现
- 学习笔记:自己编译安装OpenCV+测试opencv安装是否成功
- 力扣题目系列:860. 柠檬水找零
- makeinfo:未找到命令
- Matlab入门基础思维导图
- patreon cg人物插画作品合集分享
- 二重积分的概念与性质——重点部分笔记
- 设计模式之适配器模式--简单实例分析
- 嵌入式入门学习笔记1:资料收集
- MySQL大厂优化方案轻松应对高并发!真牛!